java xử lý ngoại lệ

11 387 0
java xử lý ngoại lệ

Đ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

NGÔN NGỮ LẬP TRÌNH JAVA Giảng viên : Nguyễn Thu Hà CHƯƠNG 6: XỬ NGOẠI LỆ  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ử 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ử ngoại lệ rất hiệu quả. Việc xử 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. 1. Vì sao phải xử ngoại lệ  Một chương trình nên có cơ chế xử ngoại 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. try { // đ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ử 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ử 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ử 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. } 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 3. Trả về lỗi  Trường hợp khi gặp lỗi, máy sẽ tự động báo lỗi bằng một thông báo rồi tiếp tục chạy nốt chương trình.  Bài tập ví dụ:ExcDemo3 4. Sử dụng câu lệnh catch nhiều lần  Nhiều khối ‘catch’ xử các loại ngoại lệ khác nhau một cách độc lập  Bài tập ví dụ:ExcDemo4 5. Các khối try lồng nhau  Các khối try có thể lồng lẫn trong nhau.Khi 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ử các ngoại lệ.  Bài tập ví dụ:NetsTrys 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 7. Finally  Khi một ngoại lệ xuất hiện, phương thức đ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. . 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ăng này làm cho Java trở thành một ngôn ngữ lập trình mạnh. 1. Vì sao phải xử lý ngoại lệ  Một chương trình nên có cơ chế xử lý ngoại lệ thích hợp. Nếu

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

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan