Runtime Exception là parent class trong tất cả exceptions của ngôn ngữ Java programming mà được kỳ vọng sẽ crash hoặc break down chương trình hoặc ứng dụng khi chúng xảy ra. Khác với exceptions không được coi là Runtime Exceptions, Runtime Exceptions không bao giờ được checked.
Runtime Exception thường chỉ ra lỗi của programmer, thay vì điều kiện mà chương trình kỳ vọng xử lý. Runtime Exceptions cũng được dùng khi có điều kiện không thể xảy ra. Cần lưu ý rằng khi chương trình hết bộ nhớ, một program error được ném thay vì hiển thị như Runtime Exception.
Các Runtime Exceptions phổ biến nhất là NullPointerException, ArrayIndexOutOfBoundsException và InvalidArgumentException. Java Virtual Machine ném hai Runtime Exceptions đầu tiên.
- NullPointerException là exception được ném bởi Java Virtual Machine khi user thực hiện một số operation trên object được coi là null hoặc gọi method trên null object. User không nên cố xử lý loại exception này vì nó chỉ vá vấn đề chứ không fix hoàn toàn.
- ArrayIndexOutOfBoundsException là exception tự động được ném bởi Java Runtime Environment khi chương trình Java cố truy cập vị trí trong collection không tồn tại. Điều này thường xảy ra khi array index yêu cầu là âm, hoặc lớn hơn hoặc bằng size của array. Java arrays dùng zero-based indexing; do đó, element đầu tiên của array có index 0, element cuối cùng có index size-1, và element thứ n có index n-1.
- InvalidArgumentException là exception được raise khi một invalid parameter được truyền cho method trên server's referenced connection.
Ví dụ
public class MyExceptionTest {
public void testRuntimeException () {
throw new MyException();
}
public static void main(String[] args) {
try {
new MyExceptionTest().testRuntimeException();
} catch(Exception e) {
System.out.println(e.getClass().getName());
}
}
}
class MyException extends RuntimeException {
public MyException() {
super();
}
}Kết quả
MyException