Java cho phép bạn bắt (catch) nhiều loại ngoại lệ trong một khối catch duy nhất. Nó được giới thiệu trong Java 7 và giúp tối ưu hóa code.
Bạn có thể sử dụng thanh dọc (|) để tách nhiều ngoại lệ trong khối catch.
Một cách cũ, trước khi tiếp cận Java 7 để xử lý nhiều ngoại lệ.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Kết quả:
/ by zero
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Kết quả:
/ by zero
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Kết quả:
Compile-time error: The exception ArithmeticException is already caught by the alternative Exception
Vì vậy, ở đây, trong trường hợp khi bạn đang bắt nhiều ngoại lệ, hãy làm theo quy tắc tổng quát hóa. Nó có nghĩa là, bạn nên khai báo các lớp ngoại lệ trong khối catch từ con đến cha (từ chuyên biệt cho đến chung).
Lưu ý - Khối catch xử lý nhiều loại ngoại lệ với tham số catch là final. Trong ví dụ trên, tham số catch "e" là final và do đó bạn không thể sửa/gán bất kỳ giá trị nào cho nó.
Nguồn tin: viettuts.vn