Cả lớp Exception và Error đều là lớp con của java.lang.Throwable. Chúng ta có thể xử lý ngoại lệ (Exception) tại runtime nhưng không thể xử lý lỗi (Error).
- Exception là đối tượng đại diện cho lỗi logic xảy ra tại runtime và khiến JVM rơi vào trạng thái "mơ hồ".
- Các đối tượng được JVM tự động tạo ra để đại diện cho các lỗi runtime này gọi là Exception. Error là lớp con của Throwable chỉ ra các vấn đề nghiêm trọng mà ứng dụng hợp lý không nên cố gắng bắt. Hầu hết các lỗi này là điều kiện bất thường.
- Nếu ngoại lệ xảy ra, ta có thể xử lý bằng
try-catch. Nếu lỗi xảy ra, ta không thể xử lý, chương trình sẽ bị chấm dứt. - Trong Exception có hai loại: Checked Exception và Unchecked Exception. Error mặc định là Unchecked Exception.
- Exception có kiểu
java.lang.Exception, Error có kiểujava.lang.Error.