Try catch trong Java

Lập trình Java cơ bản đến hướng đối tượng

4.7 (3 đánh giá)
Tạo bởi Lê Châu Cập nhật lần cuối 01:24 26-07-2020 33.068 lượt xem 0 bình luận
Tác giả/Dịch giả: Lê Châu
Học nhanh

Danh sách bài học

Try catch trong Java

Dẫn nhập

Ở bài trước, chúng ta đã tìm hiểu đầy đủ về PHƯƠNG THỨC MAIN TRONG JAVA. Hôm nay, Kteam sẽ hướng dẫn cho các bạn các xử lý những lỗi có thể xảy ra trong đời thực bằng try catch.


Nội dung

Để đọc hiểu bài này, tốt nhất các bạn nên có kiến thức cơ bản về các phần sau:

Bài này chúng ta sẽ tìm hiểu những vấn đề sau:

  • Try Catch là gì?
  • Cú pháp Try Catch
  • Từ khóa finally
  • Từ khóa throw

Try Catch là gì?

Khi chạy chương trình, có rất nhiều loại lỗi khác nhau có thể xảy ra như: lỗi do sai lầm người viết, lỗi do sai thông tin đầu vào hoặc những lỗi mà không thể lường trước được. Và khi có lỗi, Java sẽ dừng lại và hiện thị thông tin lỗi ra, kĩ thuật đó thường được gọi là ‘throw an exception/error’.

Chương trình Java sẽ ném lỗi như sau:

Try catch trong Java, java cơ bản, hướng đối tượng java

Và có những lỗi xuất phát từ người dùng, thì lúc đó ta không thể cho họ xem thông tin lỗi như thế này được. Với những người không thành thạo về máy vi tính hoặc tiếng Anh thì họ nghĩ chương trình bạn viết bị lỗi mà không phải lỗi từ họ.

Vì vậy, Try Catch có nhiệm vụ bắt (Catch) các lỗi mà thực tế có thể xảy ra để xử lý sao cho chương trình thân thiện với người dùng hơn.


Cú pháp Try Catch

Cú pháp:

try {

    //Những khối lệnh có thể phát sinh lỗi

} catch (Exception e) { //tham số e là tên lỗi muốn xử lý

    //Chương trình thực hiện khi gặp lỗi trên

}

Ví dụ: khi gặp lỗi lấy phần tử trong mảng mà không tồn tại

Try catch trong Java, java cơ bản, hướng đối tượng java

Ta thấy chương trình sẽ throw lỗi là ArrayIndexOutOfBoundsException, ta sẽ catch lỗi đó như sau:

public static void main(String[] args) {
	// TODO Auto-generated method stub
	try {
		int[] a = {5,6,7};
		System.out.println(a[4]);
	} catch (ArrayIndexOutOfBoundsException e) {
		System.out.println("Index does not exist");
	}
		
}

Try catch trong Java, java cơ bản, hướng đối tượng java

Nếu bạn không thể lường trước toàn bộ lỗi, ta có thể đặt mặc định Exception để xử lý lỗi mà bạn chưa tính đến được.

Ví dụ: Tính tổng các tham số truyền vào trong phương thức main

public static void main(String[] args) {
	// TODO Auto-generated method stub
	int S=0;
	try {
		for (String arg : args) {
			S+= Integer.parseInt(arg);
			System.out.println(arg);
		}
	} catch (Exception e) {
		System.out.println("Error:"+e.toString());
	}
		
}

Ta dùng phương thức parseInt trong class Integer để chuyển giá trị kiểu String sang giá trị kiểu int (với điều kiện chuỗi đó mang ý nghĩa con số). Giả sử người dùng cho tham số truyền vào không phải kí tự số

Try catch trong Java, java cơ bản, hướng đối tượng java

Như vậy lỗi có tên là: java.lang.NumberFormatException


Từ khóa finally

Từ khóa finally có ý nghĩa sẽ chạy những dòng code sau khi kết thúc try catch bất kì có lỗi hay không.

Ví dụ:

public static void main(String[] args) {
	// TODO Auto-generated method stub
	int S=0;
	try {
		for (String arg : args) {
			S+= Integer.parseInt(arg);
			System.out.println(arg);
		}
	} catch (Exception e) {
		System.out.println("Error:"+e.toString());
	} finally {
		System.out.println("This is end");
	}
		
}

Try catch trong Java, java cơ bản, hướng đối tượng java


Từ khóa throw

Từ khóa throw mục đích chính là để ném lỗi, thường khi bạn viết các phương thức cho người khác người dùng và bắt người khác phải tự xử lý những trường hợp đó. Bản chất các Exception là các class, nên khi ném lỗi có nghĩa là: Bạn khởi tạo đối tượng Exception throw cho người viết sau này phải catch lại:

Ví dụ: Throw lỗi nếu người dùng nhập tham số lớn hơn 100, ta sử dụng class ArithmeticException để xử lý:

public class HelloWorld {
	
	static void inputValue(int value) {
		if (value>100) {
			throw new ArithmeticException("Value>100"); 
		}
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
			inputValue(102);
		
	}

}

Try catch trong Java, java cơ bản, hướng đối tượng java


Kết

Như vậy chúng ta đã tìm hiểu try catch trong JAVA

Ở bài sau, Kteam sẽ giới thiệu đến bạn về  4 TÍNH CHẤT CỦA HƯỚNG ĐỐI TƯỢNG

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Try catch trong Java dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Tác giả/Dịch giả

Quan tâm lập trình và lịch sử.

Thích tìm hiểu công nghệ mới

Khóa học

Lập trình Java cơ bản đến hướng đối tượng

Với mục đích giới thiệu đến mọi người về Ngôn ngữ Java -  một ngôn ngữ lập trình khá mới mẻ so với C, C++, Java, PHP ở Việt Nam.

Thông qua khóa học LẬP TRÌNH JAVA CƠ BẢN ĐẾN HƯỚNG ĐỐI TƯỢNG, Kteam sẽ hướng dẫn các bạn kiến thức cơ bản của Java. Để từ đó, có được nền tảng cho phép bạn tiếp tục tìm hiểu những kiến thức tuyệt vời khác của Java hoặc là một ngôn ngữ khác.

Cụ thể trong khóa học này, Kteam sẽ giới thiệu với các bạn Java ở phiên bản Java 8

Đánh giá

Trường_Nguyễn đã đánh giá 14:22 28-04-2021

tinhnv đã đánh giá 20:24 19-05-2019

good

Qynklee đã đánh giá 23:38 08-05-2019

Siêu dễ hiểu và ngắn gọn chứ k lan man ! Công nhận bài học rất hay, bổ ích !

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Không có video.