Nếu bạn phải thực hiện các tác vụ khác nhau mà ở đó có thể xảy ra các ngoại lệ khác nhau, hãy sử dụng đa khối lệnh catch trong java.
Hãy xem ví dụ sau về việc sử dụng nhiều khối lệnh catch trong java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Output:
task1 is completed rest of the code...
Quy tắc: Vào một thời điểm chỉ xảy ra một ngoại lệ và tại một thời điểm chỉ có một khối catch được thực thi.
Quy tắc: Tất cả các khối catch phải được sắp xếp từ cụ thể nhất đến chung nhất, tức là phải khai báo khối lệnh catch để xử lý lỗi ArithmeticException trước khi khai báo catch để xử lý lỗi Exception.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Output:
Compile-time error
Chương trình trên bị lỗi tại compile-time là vì khi có ngoại lệ xảy ra thì các khối lệnh catch (ArithmeticException e) và catch (ArrayIndexOutOfBoundsException e) không bao giờ được thực thi, do khối catch (Exception e) đã bắt tất cả các ngoại lệ rồi.
Nguồn tin: viettuts