JAVA CORE - Trang 154

www.updatesofts.com

!

"

+

&

Hình 7.1 Khối Try và Catch


Để bắt giữ bất cứ ngoại lệ nào, ta phải chỉ ra kiểu ngoại lệ là ‘Exception’.

catch(Exception e)

Khi ngoại lệ bị bắt giữ không biết thuộc kiểu nào, chúng ta có thể sử dụng lớp ‘Exception’
để bắt ngoại lệ đó.

Khối ‘catch()’ bắt giữ bất cứ các lỗi xảy ra trong khi thi hành phương thức
‘doFileProcessing’ hay ‘display’. Nếu một lỗi xảy ra trong khi thi hành phương thức
‘doFileProcessing()’, lúc đó phương thức ‘displayResults()’ sẽ không bao giờ được gọi. Sự
thi hành sẽ tiếp tục thực hiện khối ‘catch’. Để có nhiều lớp xử lý lỗi hơn, như là
‘LookupException’ thay vì một đối tượng ngoại lệ chung (Exception e), lỗi thật sự sẽ là
một instance của ‘LookupException’ hay một trong số những lớp con của nó. Lỗi sẽ được
truyền qua khối ‘try catch’ cho tới khi chúng bắt gặp một ‘catch’ tham chiếu tới nó hay
toàn bộ chương trình phải bị huỷ bỏ.

7.5 Các khối chứa nhiều Catch


Các khối chứa nhiều ‘catch’ xử lý các kiểu ngoại lệ khác nhau một cách độc lập. Chúng
được liệt kê trong đoạn mã sau:

try
{

doFileProcessing(); // user defined mothod

displayResults(); // user defined method

}
catch(LookupException e) // e – Lookupexception object
{

handleLookupException(e); // user defined handler

}
catch(Exception e)
{

System.err.println(“Error:” + e.printStackTrace());

}
}

Trong trường hợp này, khối ‘catch’ đầu tiên sẽ bắt giữ một ‘LockupException’. Khối ‘catch’
thứ hai sẽ xử lý kiểu ngoại lệ khác với khối ‘catch’ thứ nhất.

Một chương trình cũng có thể chứa các khối ‘try’ lồng nhau. Ví dụ đoạn mã dưới đây:

try
{

statement 1;

statement 2;

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.