Tôi nhận thấy gần đây rằng Exception
có một số hàm tạo có tham số Throwable
. Throwable
có hai lớp con, Error
và Exception
và nói chung tất cả tài liệu chỉ ra rằng bạn không nên cố bắt hoặc xử lý Error
. Do đó, tôi tò mò tại sao Exception
mất một tham số Throwable
làm tham số hàm tạo thay vì một số Exception
. Điều này ngụ ý rằng một số Exception
có thể được tạo với Error
làm nguyên nhân và có thể được ứng dụng xử lý. Tại sao điều này là trường hợp?Tại sao ngoại lệ lấy Throwable làm tham số hàm tạo thay vì Ngoại lệ?
Nên tùy chỉnh Exception
các lớp học sau đó chỉ cung cấp các nhà thầu mất Exception
làm thông số?
Chỉ cần đoán: đôi khi mọi người vẫn cố gắng đăng nhập ngoại lệ bằng cách nào đó; và có thể điều đó dễ dàng hơn nếu bạn sử dụng một số ngoại lệ loại tùy chỉnh của riêng mình; và vì vậy bạn cho phép những thứ như vậy được quấn quanh một chiếc Throwable. Hoặc có thể, ngôn ngữ papas và mamas chỉ không nghĩ rằng một thông qua. – GhostCat
JAVADOC syas: * "Lỗi là một phân lớp của Throwable cho thấy các vấn đề nghiêm trọng mà một ứng dụng hợp lý không nên cố gắng nắm bắt. Hầu hết các lỗi như vậy là điều kiện bất thường." * Nhưng nó không cấm bạn bắt chúng. – user2004685