Cơ sở quản lý ngoại lệ trong Java

Một phần của tài liệu Bài giảng ngôn ngữ lập trình Java doc (Trang 89 - 90)

Khi một phương thức khụng thể hoàn thành nhiệm vụ của nú, nú cú thể “quăng, nộm”(throws) ra một Exception, nếu cú một Exception handler - đoạn code xử lý khi lỗi xảy ra – thỡ Exception này sẽ bị “bắt” (catch) và “được quản lý”(handled).

Cỳ phỏp để thực hiện điều này như sau: try

{

// Đoạn chương trỡnh cú thể gõy ra exception }

catch (<Kiểu exception> <tờn biến>) {

// Đoạn code chạy khi exception xảy ra }

finally {

// Đoạn code luụn được thực hiện bất kể exception cú xảy ra hay khụng }

Một khối try cú thể khụng cú hoặc cú nhiều khối catch. Mỗi khối catch xỏc định một kiểu exception mà nú cú thể bắt và chứa đoạn code xử lý trong trường hợp tương ứng.

try{

//code cú thể throw exceptions

}

catch (MalformedURLException e1) {

//code xử lý }

catch (UnknownHostException e2) {

//code xử lý }

catch (IOException e3) {

//code xử lý }

Sau khối catch cuối cựng, cú thể cú hoặc khụng một khối finally chứa code xử lý bất kể exception cú xảy ra hay khụng.

Mỗi khối try bắt buộc phải cú một khối catch hoặc finally.

Khi lỗi xảy ra, chương trỡnh sẽ tỡm đến khối catch cú kiểu đối tượng Exception phự hợp để thực hiện. Để lấy được thụng bỏo từ hệ thống về lỗi, sử dụng phương thức getMessage() của cỏc lớp Exception, vớ dụ:

e3.getMessage();

Trong một phương thức ta cú thể khai bỏo một mệnh đề throws để phương thức “quăng” ra cỏc ngoại lệ. Cỏc ngoại lệ này được quăng ra bởi cỏc lệnh throw hoặc việc gọi một phương thức khỏc trong phương thức này. Tại điểm quăng ra ngoại lệ (throw point), Java sử dụng cơ chế kết thỳc chương trỡnh thay vỡ cơ chế qua trở lại điểm xảy ra ngoại lệ và tiếp tục.

Vớ dụ:

int functionName( parameterList ) throws ExceptionType1, ExceptionType2, ExceptionType3,..

{

// Thõn phương thức }

Một phần của tài liệu Bài giảng ngôn ngữ lập trình Java doc (Trang 89 - 90)