1. Trang chủ
  2. » Giáo án - Bài giảng

java xử lý ngoại lệ

11 389 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xử lý ngoại lệ
Người hướng dẫn Nguyễn Thu Hà
Trường học Nguyễn Tất Thành University
Chuyên ngành Ngôn ngữ lập trình
Thể loại Bài tập
Định dạng
Số trang 11
Dung lượng 50,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các trạng thái không bình thường xảy ra trong khi thi hành chương trình tạo ra các exception.. Nếu bạn không xử lý các trạng thái này thì chương trình có thể bị kết thúc đột ngột.. Nếu

Trang 1

NGÔN NGỮ LẬP TRÌNH JAVA

Giảng viên : Nguyễn Thu Hà

CHƯƠNG 6: XỬ LÝ NGOẠI LỆ

Trang 2

 Exception là một loại lỗi đặc biệt Lỗi này xuất hiện vào lúc thực thi chương trình Các trạng thái không bình thường xảy ra trong khi thi hành chương trình tạo ra các exception Những trạng thái này không

được biết trước trong khi ta đang xây dựng chương trình Nếu bạn không xử lý các trạng thái này thì

chương trình có thể bị kết thúc đột ngột Ngôn ngữ Java cung cấp cơ chế dùng để xử lý ngoại lệ rất hiệu quả Việc xử lý này làm hạn chế tối đa trường hợp

hệ thống bị hỏng (crash) hay hệ thống bị ngắt đột

ngột Tính năng này làm cho Java trở thành một

ngôn ngữ lập trình mạnh.

Trang 3

1 Vì sao phải xử lý ngoại lệ

lệ thích hợp Nếu không, chương trình sẽ bị ngắt khi một ngoại lệ xảy ra Trong trường hợp đó, tất cả các nguồn tài nguyên mà hệ thống đã cấp không được giải phóng

Trang 4

{

// đoạn mã có khả năng gây ra ngoại lệ

}

catch(Exception e1)

{

// Nếu các lệnh trong khối ‘try’ tạo ra ngoại lệ có loại e1, thì thực

hiện //xử lý ngoại lệ nếu không chuyển xuống khối 'catch' tiếp theo }

catch(Exception e2)

{

// Nếu các lệnh trong khối ‘try’ tạo ra ngoại lệ có loại e2, thì thực

hiện //xử lý ngoại lệ nếu không chuyển xuống khối 'catch' tiếp theo }

catch(Exception eN)

{

// Nếu các lệnh trong khối ‘try’ tạo ra ngoại lệ có loại eN, thì thực

hiện //xử lý ngoại lệ nếu không chuyển xuống khối 'catch' tiếp theo }

finally

{

// khối lệnh nay luôn được thực hiện cho dù ngoại lệ có xảy ra hay không.

}

Trang 5

2 Khối try …catch

Cấu trúc:

try

{

doFileProcessing(); // phương thức do người sử dụng định nghĩa

displayResults();

}

catch (Exeption e) // thể hiện của ngoại lệ

{

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

e.printStackTrace();

}

Bài tập ví dụ: ExcDemo1

Trang 6

3 Trả về lỗi

lỗi bằng một thông báo rồi tiếp tục chạy nốt chương trình

Trang 7

4 Sử dụng câu lệnh catch nhiều lần

nhau một cách độc lập

Trang 8

5 Các khối try lồng nhau

sử dụng các ‘try’ lồng nhau, khối ‘try’ bên

trong được thi hành đầu tiên Bất kỳ ngoại lệ nào bị chặn trong khối ‘try’ sẽ bị bắt giữ trong các khối ‘catch’ theo sau Nếu khối ‘catch’

thích hợp không được tìm thấy thì các khối

‘catch’ của các khối ‘try’ bên ngoài sẽ được xem xét Nếu không, Java Runtime

Environment xử lý các ngoại lệ

Trang 9

6 Sử dụng câu lệnh Thows

Các ngoại lệ có thể được tạo ra bằng cách sử dụng từ khoá ‘throw’ Từ khóa ‘throw’ chỉ ra một ngoại lệ vừa xảy ra Toán hạng của throw là một đối tượng thuộc lớp được thừa kế từ ‘Throwable’.

cách sử dụng của lệnh ‘throw’:

try

{

if (flag<0)

{

throw new MyException(); // user-defined }

}

Bài tập : ThowsDemo

Trang 10

7 Finally

đang được thực thi có thể bị dừng mà không được hoàn thành Nếu điều này xảy ra, thì các đoạn mã phía sau (ví dụ như đoạn mã

có chức năng thu hồi tài nguyên, như các

lệnh đóng tập viết ở cuối phương thức) sẽ không bao giờ được gọi Java cung cấp khối

‘finally’ để giải quyết việc này Khối ‘finally’ thực hiện tất cả các việc thu dọn khi một

ngoại lệ xảy ra

Trang 11

Ví dụ:

try {

// block of code to monitor for errors }

catch (ExcepType1 exOb) {

// handler for ExcepType1

}

catch (ExcepType2 exOb) {

// handler for ExcepType2

}

//

finally {

// finally code

}

Bài tập ví dụ: UseFinally

Ngày đăng: 28/07/2013, 01:27

TỪ KHÓA LIÊN QUAN

w