Tổng quan về Exception trong Java

Trong bài đầu tiên của chương Exception, tôi sẽ hướng dẫn các bạn tìm hiểu tổng quan về Exception trong Java. Sang các bài sau, chúng ta sẽ lần lượt tìm hiểu kỹ hơn về các vấn đề của Exception. Đây là chương khá quan trọng nên các bạn cố gắng theo dõi để nắm chắc nhé!

1. Exception (Ngoại lệ) là gì?

Exception là một sự kiện chỉ xảy ra trong quá trình chương trình Java thực thi một câu lệnh nào đó và thông thường nó sẽ phá vỡ luồng làm việc của chương trình, tức là chương trình đang chạy sẽ lập tức ngừng lại và xuất hiện thông báo lỗi. Đó chính là Exception (ngoại lệ).

Ví dụ dễ hiểu nhất về Exception đó chính là khi chúng ta tiến hành thực hiện phép chia một số nguyên dương cho số 0 thì khi biên dịch chương trình sẽ làm phát sinh lỗi và đó được coi là ngoại lệ.

2. Các loại Exception trong Java

Trong Java có 2 loại Exception là Checked Exception và Unchecked Exception. 

  • Checked Exception là các Exception xảy ra tại thời điểm Compile time (là thời điểm chương trình đang được biên dịch). Những Exception này thường liên quan đến lỗi cú pháp (syntax) và bắt buộc chúng ta phải "bắt" (catch) nó. 
  • Unchecked Exception: là các Exception xảy ra tại thời điểm Runtime (là thời điểm chương trình đang chạy). Những Exception này thường liên quan đến lỗi logic và không bắt buộc chúng ta phải "bắt" (catch) nó.

Sau đây tôi sẽ đưa ra 2 ví dụ minh họa Checked Exception và Unchecked Exception:

CheckedException.java
package vidu;

public class CheckedException {

	public static void main(String[] args) {
		System.out.println(ABC);
	}
	
}

Lúc này, ngay tại dòng code System.out.println(ABC); sẽ bị lỗi. Lý do là vì ví dụ này mục đích là để hiển thị một chuỗi, mà đã hiển thị chuỗi thì bắt buộc chuỗi đó phải nằm trong cặp dấu " ". Đây chính là Checked Exception, lúc này nếu chúng ta tiến hành chạy chương trình thì sẽ có thông báo lỗi hiển thị trong cửa sổ Console. Kết quả biên dịch chương trình như sau:

UncheckedException.java
package vidu;

public class UncheckedException {

	public static void main(String[] args) {
		int a = 5, b = 0;
		System.out.println(a/b);
	}

}

Lúc này, chương trình sẽ không báo lỗi gì trong đoạn code của chúng ta nhưng khi biên dịch thì sẽ có thông báo lỗi "/ by zero" (lỗi chia cho 0) trong màn hình Console. Đây chính là Unchecked Exception. Kết quả sau khi biên dịch chương trình:

3. Các cách xử lý Exception

Bài viết được đăng tại freetuts.net

Trong Java, để xử lý ngoại lệ chúng ta sẽ có các cách được liệt kê dưới đây và chi tiết về các cách này tôi sẽ giới thiệu trong các bài sau.

  • Sử dụng khối try...catch để xử lý.
  • Sử dụng multicatch để bắt nhiều ngoại lệ.
  • Sử dụng khối try...catch...finally.
  • Sử dụng try with resource.
  • Sử dụng Nested try (lồng một khối try trong một try khác).
  • Sử dụng từ khóa throwthrows.

4. Lời kết

Trong bài này, tôi đã giới thiệu đến các bạn Tổng quan về Exception trong Java. Sang bài sau, chúng ta sẽ đi vào tìm hiểu lần lượt về các cách xử lý Exception trong Java. Các bạn theo dõi nhé!

Nguồn: freetuts.net

Các khóa học lập trình đang giảm giá

Có rất nhiều khóa học về lập trình như: lập trình php, Javascript, NodeJs, React ... Tha hồ cho bạn lựa chọn, nhanh tay ngay vì đây là đối tác của freetuts nên bạn sẽ được giảm giá thêm 10% khi mua qua link giới thiệu.

BÌNH LUẬN

Đặt câu hỏi: Hãy tham gia vào group học lập trình web để tham gia thảo luận và đặt câu hỏi, với hơn 20.000 thành viên hiện đang hoạt động tại group này. Ngoài ra bạn cũng có thể đặt câu hỏi nếu cần tư vấn về các vấn đề như định hướng nghề nghiệp, những khó khăn trong quá trình học tập.

Hỗ trợ việc làm: Hãy tham gia vào group việc làm công nghệ thông tin để tìm và đăng tuyển lập trình viên. Hy vọng đây sẽ là nơi tìm kiếm việc làm lý tưởng cho bạn và nhà tuyển dụng.