Exception là gì?
Theo từ điển: Exception (ngoại lệ) là một tình trạng bất thường.
Trong java, ngoại lệ là một sự kiện làm gián đoạn luồng bình thường của chương trình. Nó là một đối tượng được ném ra tại runtime.
Lợi thế của Exception Handling trong java
Exception Handling (xử lý ngoại lệ) là một cơ chế xử lý các lỗi runtime như ClassNotFoundException, IOException, SQLException, RemoteException, etc.
Lợi thế cốt lõi của việc xử lý ngoại lệ là duy trì luồng bình thường của ứng dụng. Ngoại lệ thường làm gián đoạn luồng bình thường của ứng dụng đó là lý do tại sao chúng ta sử dụng xử lý ngoại lệ. Hãy xem xét kịch bản sau:
statement 1;
statement 2;
statement 3;
statement 4;
statement 5;
statement 6; //exception occurs
statement 7;
statement 8;
statement 9;
statement 10;
Giả sử có 10 câu lệnh trong một chương trình Java và có một exception xảy ra ở câu lệnh 6; phần còn lại của chương trình sẽ không được thực thi, tức là các câu lệnh từ 7 đến 10 sẽ không được thực thi. Tuy nhiên, khi chúng ta thực hiện xử lý exception, các câu lệnh còn lại sẽ được thực thi. Đó là lý do tại sao chúng tôi sử dụng exception handling trong Java.
Hệ thống cấp bậc của các class Exception trong Java

Các loại Java Exceptions
Có hai loại exception chính là: checked và unchecked. Còn Sun Microsystem nói rằng có ba loại ngoại lệ:
- Checked Exception
- Unchecked Exception
- Error

Sự khác nhau giữa Checked & Unchecked Exception
Checked Exception
Các class extends từ class Throwable ngoại trừ RuntimeException và Error được gọi là checked exception, ví dụ như Exception, SQLException vv. Các checked exception được kiểm tra tại compile-time.
Unchecked Exception
Các lớp extends từ RuntimeException được gọi là unchecked exception, ví dụ: ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException,… Các ngoại lệ unchecked không được kiểm tra tại compile-time mà chúng được kiểm tra tại runtime.
Các từ khóa xử lý Exception
Keywork | Description |
try | Từ khóa try chỉ nơi đoạn code xử lý xảy ra exception. try không được đặt 1 mình, phải được theo sau bởi catch hoặc finally. |
catch | Từ khóa catch chỉ nơi xử lý khi ngoại lệ xảy ra. |
finally | finally sử dụng để thực thi xử lý cần thiết của chương trình. Nó được thực thi cho dù exception có xảy ra hay không. |
throw | throw được xử dụng để ném ra một exception. |
throws | throws được sử dụng để khai báo một exception. |
Be First to Comment