• Ví dụ: khi đang thao tác trên 1 tập tin nếu gặp lỗi mà không xử lý và chương trình kết thúc đột ngột thì file sẽ không được đóng và có thể dẫn đến hư file và các nguồn tài nguyên sẽ kh[r]
(1)CÔNG NGHỆ JAVA
CH5 QUẢN LÝ LỖI VÀ GOM RÁC
Quang Dieu Tran PhD
(2)Mục tiêu
• Định nghĩa exception gì.
• Phân loại exception
• Sử dụng cú pháp try catch finally
• Biết cách tự quản lý exception
• Giải thích chế gom rác Java
(3)Nội dung
1- Exception gì?
2- Cấu trúc quản lý lỗi Java 3- Mơ hình try catch finally
4- Sử dụng throws
5- Tự định nghĩa exceptions 6- Cơ chế gom rác
(4)Exception
• Java ngơn ngữ mạnh, có nghĩa tối thiểu hóa lỗi có lỗi chúng quản lý
• Lỗi có loại:
– Lỗi lúc biên dịch (compile-time error-lỗi cú pháp)
– Lỗi lúc thực thi (run-time error- giải thuật sai, không dự đốn tình huống)
• Exception= runtime-error
• Thí dụ: thực phép chia mà mẫu số
(5)Exception
• Là kiểu lỗi đặc biệt, xảy thời gian thực thi khối lệnh gây ngừng đột ngột chương trình
• Các lỗi thường gây nên biệt lệ: – Tràn nhớ
– Lỗi cấp phát tài ngun – Khơng tìm thấy file
(6)Mục đích việc xử lý
• Giảm thiểu việc kết thúc bất thường hệ thống chương trình
• Ví dụ: thao tác tập tin gặp lỗi mà khơng xử lý chương trình kết thúc đột ngột file khơng đóng dẫn đến hư file nguồn tài nguyên không giải phóng
(7)(8)Cấu trúc class quản lý lỗi Java
• Exception: lớp phân cấp exception
• RuntimeException: Lớp nhiều lớp
java.lang.exceptions
• ArithmaticException: Quản lý lỗi tóan học chia cho
• IllegalArgumentException : Lỗi sai đối số
• ArrayIndexOutOfBoundsException: Lỗi sai số mảng
• NullPointerException: Lỗi truy xuất đối tượng chưa khởi tạo
• SecurityException : Lỗi khơng quyền truy cập
• ClassNotFoundException: Lỗi khơng thể nạp lớp khơng có lớp
(9)Cấu trúc class quản lý lỗi Java(tt)
• NumberFormatException: Lỗi chuyển String ->float • AWTException: Lỗi Abstract Windowing Toolkit
• ArithmaticException: Quản lý lỗi tóan học chia cho
• IOException : Lớp IO exception
• FileNotFoundException: Lỗi khơng có file đặc tả
• EOFException: Lỗi cố truy xuất liệu mà file hết
• IllegalAccessException : Lỗi truy xuất đến 1class bị cấm
(10)Q trình xử lý lỗi
• Xác định loại lỗi đoạn lệnh xảy lỗi • Xác định chế bắt lỗi
• Xác định vị trí đoạn lệnh cần viết để bắt lỗi • Xác định thơng báo hiển thị lỗi xảy • Viết đoạn lệnh xử lý lỗi
• Lưu, biên dịch chạy chương trình