JAVA CORE - Trang 159

!

%

(

$

+

%

%

)

%


try
{

if (flag<0)

{

throw new MyException(); // user-defined

}

}

Một phương thức đơn có thể chặn nhiều ngoại lệ. Để xử lý những ngoại lệ này, ta cần
cung cấp một danh sách các ngoại lệ mà phương thức chặn trong phần định nghĩa của
phương thức. Giả sử rằng phương thức ‘x()’ gọi phương thức ‘y()’. Phương thức ‘y()’ chặn
một ngoại lệ không được xử lý. Trong trường hợp này, phương thức gọi ‘x()’ nên khai báo
việc chặn cùng một ngoại lệ với phương thức được gọi ‘y()’. Ta nên khai báo khối ‘try
catch’ trong phương thức x() để đảm bảo rằng ngoại lệ không được truyền cho các
phương thức mà gọi phương thức này.

Đoạn mã sau minh họa cách sử dụng của từ khoá ‘throws’ để xử lý nhiều ngoại lệ:

public class Example
{

// multiple exceptions separated by a comma

public void exceptionExample() throws ExException, LookupException

{

try

{

// statements

}

catch(ExException exmp)

{

}

catch(LookupException lkpex)

{

}

}

}

Trong ví dụ trên, phương thức ‘exceptionExample’ khai báo từ khoá ‘throws’. Từ khoá này
được theo sau bởi danh sách các ngoại lệ mà phương thức này có thể chặn – Trong trường
hợp này là ‘ExException’ và ‘LookupException’. Hàm xử lý ngoại lệ cho các phương thức
này nên khai báo các khối ‘catch’ để có thể xử lý tất cả các ngoại lệ mà các phương thức
chặn.

Lớp ‘Exception’ thực thi giao diện ‘Throwable’ và cung cấp các tính năng hữu dụng để
phân phối các ngoại lệ. Ưu điểm của nó là tạo các lớp ngoại lệ được định nghĩa bởi người
dùng. Để làm điều này, một lớp con của lớp Exception được tạo ra. Ưu điểm của lớp con là
một kiểu ngoại lệ mới có thể bị bắt giữ độc lập từ các loại Throwable khác.

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.