Exception trong Java
Em có thắc mắc liên quan đến phần Exception Class trong Java như thế này:
Có khá nhiều exception class dùng cho try{ } catch ( exception_class e){ } như InputMismatchException, IOException, NoSuchMethodException, FileNotFoundException…
Các class này có nhất thiết phải sử dụng cho các trường hợp tương ứng mà nó hỗ trợ không ạ? Trong khi ta lại có class Exception có thể dùng bắt mọi ngoại lệ, tại sao không dùng nó cho mọi lúc mà lại phải chia ra các exception class khác nữa thế ạ.
Xin cảm ơn.
Nhiều khi mình cần chỉ rõ ràng loại Exception để thông báo và xử lý một cách chính xác nhất
Nó bắt lỗi theo thứ tự IOException rồi đến Exception. Vậy khi bắt từng lỗi sẽ chính xác hơn.
Thường 1 chương trình bi dính Exception có thể do nhiều nguyên nhân. Bạn phải ghi cụ thể ra cho người dùng ví dụ lỗi nhập xuất, lỗi không có trong dữ liệu,… Catch exception theo thứ tự từ cụ thể đến tổng quát.
Các class như IOException, FileNotFoundException, ArrayOutOfBoundException hoặc NullPointerException là con (kế thừa) của super class Exception
Những class con này sẽ là trường hợp cụ thể còn Exception sẽ là chung chung
Thì giống như vậy, việc dùng Exception không giúp bạn xác định đều gì phải làm trong khi gặp các trường hợp khác mà còn làm chậm các thread của bạn
Đó là lí do tại sao người ta tạo ra các con của Exception