Chương 7 – Xử lý ngoại lệ. Chương này trình bày những nội dung chính sau đây: Khái niệm, các loại lỗi, xử lý ngoại lệ, cấu trúc các lớp quản lý lỗi, lớp Throwable, lớp Exception, bắt ngoại lệ, lan truyền lỗi, ném ra ngoại lệ, tự định nghĩa exception. . | Mục tiêu Chương 7. Giải thích được lỗi cú pháp và lỗi thực thi chương trình trình. Giải thích được mô hình đối tượng Exception của Java. Giải thích được cú pháp bẫy lỗi bằng . finally. finally. Sử d dụng đ được th throw và th à throws trong code, t d Tự định nghĩa được Exception. XỬ LÝ NGOẠI LỆ 2/34 Nội dung 1. Khái niệm Ngoại lệ (Exception): là những điều khô không mong muốn xảy ra khi thực hiệ ố ả thự hiện chương trình Java. Lỗi thi hành là một dạng ngoại lệ Ví dụ: 1. Khái niệm 2. Các l i 2 Cá loại lỗi 3. Xử lý ngoại lệ 4. Cấu trúc các lớp quản lý lỗi 5. Lớp Throwable 6. Lớp Exception 7. Bắt ngoại lệ 8. Lan truyền lỗi 9. Ném ra ngoại lệ 10. Tự định nghĩa Exception • Thực hiện phép chia cho 0 0. • Khi đọc một tập tin không tồn tại. • Khi thao tác vượt quả chỉ số mảng. 3/34 4/34 1 1. Khái niệm 1. Khái niệm 5/34 2. Các loại lỗi Bài toán Hiện thực Code ? CompileCompile-time error = Syntax error Correct result Run- i Run-time error = Exception, tình h ố ì h huống bấ bất bình thường đã xẩy ra trong khi chương trình thực thi. Compile No Syntax error Wrong result END 2. Các loại lỗi Syntax error BEGIN Run 6/34 Chương trình Run-time error ( Eception ) Khi có Exception: • Có thể là máy bị treo ( y ị (halt). ) • Chương trình ngắt đột ngột, điều khiển trả về cho OS, OS thu hồi bộ nhớ của chương trình. Cần có cơ chế điều khiển tình huống này. 7/34 8/34 2 3. Xử lý ngoại lệ 4. Cấu trúc các lớp quản lý lỗi Java là ngôn ngữ mạnh (robust) bắt các ngoại lệ lệ. Khi có run-time error, thông tin về lỗi này runđược máy ảo tự động phát ra thông qua một đối tượng Exception. Đối tượng này có thể bẫy từ chương trình nhờ cơ chế giao tiếp giữa máy ảo và chương trình. Java cung cấp một tập rất nhiều lớp mô tả các lỗi trong gói . Tham khảo Java Documentation. 9/34 5. Lớp Throwable 10/34 10/34 6. Lớp Exception Các lớp Exception đều được dẫn ra từ lớp à lớ này. Chứa các hành vi giúp truy xuất thông tin về lỗi như: • nội dung mô tả