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 7 XỬ LÝ NGOẠI LỆ Exception Handling Sau khi kết thúc chương này bạn có thể nắm được các nội dung sau Định nghĩa một ngoại lệ Exception Hiểu được mục đích của việc xử lý ngoại lệ Hiểu được các kiểu ngoại lệ khác nhau trong Java Mô tả mô hình xử lý ngoại lệ Hiểu được các khối lệnh chứa nhiều khối xử lý ngoại lệ catch Mô tả cách sử dụng các khối try catch và finally Giải thích cách sử dụng các từ khoá throw và throws Tự tạo ra các ngoại lệ Giới thiệu 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. Ví dụ việc chia cho 0 sẽ tạo một lỗi trong chương trình. 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. Mục đích của việc 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 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. Điều này gây lãng phí tài nguyên. Để tránh trường hợp này tất cả các nguồn tài nguyên mà hệ thống cấp nên được thu hồi lại. Tiến trình này đòi hỏi cơ chế xử lý ngoại lệ thích hợp. Ví dụ xét thao tác vào ra I O trong một tập tin. Nếu việc chuyển đổi kiểu dữ liệu không thực hiện đúng một ngoại lệ sẽ xảy ra và chương trình bị hủy mà không đóng tập tin lại. Lúc đó tập tin dễ bị hư hại và các nguồn tài nguyên được cấp phát cho tập tin không được trả lại cho hệ thống. Xử lý ngoại lệ Khi một ngoại lệ xảy ra đối tượng object tương ứng với ngoại lệ đó được tạo ra. Đối tượng này sau đó được truyền cho phương thức là nơi mà ngoại lệ xảy ra. Đối tượng này