Bài 7: Quản lí ngoại lệ<br />
<br />
Lê Hồng Phương<br />
phuonglh@gmail.com<br />
Khoa Toán-Cơ-Tin học<br />
Trường Đại học Khoa học Tự nhiên Hà Nội<br />
<br />
Nội dung<br />
●<br />
<br />
Ngoại lệ<br />
<br />
●<br />
<br />
Xử lí ngoại lệ<br />
<br />
●<br />
<br />
Lớp Throwable<br />
<br />
●<br />
<br />
Ưu điểm của ngoại lệ<br />
<br />
2012-2013<br />
<br />
Object-Oriented Programming: Exception<br />
<br />
2<br />
<br />
Ngoại lệ<br />
●<br />
<br />
●<br />
<br />
●<br />
<br />
Ngoại lệ (exception), là lỗi có thể phát sinh trong quá<br />
trình thực hiện chương trình.<br />
Mỗi ngoại lệ cũng được mô hình hóa bởi một đối<br />
tượng thuộc lớp Exception.<br />
Ví dụ, các thao tác sau đều sinh ngoại lệ: truy cập<br />
mảng ở vị trí -1, chia cho 0.<br />
<br />
2012-2013<br />
<br />
Object-Oriented Programming: Exception<br />
<br />
3<br />
<br />
Ngoại lệ<br />
●<br />
<br />
●<br />
<br />
●<br />
<br />
Khi xảy ra ngoại lệ trong một phương thức, phương<br />
thức tạo ra một đối tượng ngoại lệ và chuyển nó cho<br />
hệ thống.<br />
Đối tượng ngoại lệ chứa các thông tin về lỗi: kiểu lỗi,<br />
trạng thái của chương trình khi xảy ra lỗi.<br />
Việc tạo ra đối tượng lỗi và chuyển nó cho hệ thống<br />
được gọi là ném ngoại lệ.<br />
<br />
2012-2013<br />
<br />
Object-Oriented Programming: Exception<br />
<br />
4<br />
<br />
Ngoại lệ<br />
●<br />
<br />
Khi một ngoại lệ được ném ra, hệ thống sẽ tìm đoạn<br />
mã có nhiệm vụ xử lí ngoại lệ.<br />
–<br />
<br />
–<br />
<br />
●<br />
<br />
Lập trình viên cần dự kiến trước các ngoại lệ có thể<br />
xảy ra và cung cấp những mã xử lí phù hợp.<br />
Ví dụ, chương trình lấy dữ liệu người dùng nhập<br />
vào một JTextField với kì vọng là một số nguyên<br />
dương, nhưng người dùng nhập sai (nhập số âm,<br />
nhập chuỗi kí tự...)<br />
<br />
Đoạn mã xử lí ngoại lệ được gọi là bộ xử lí ngoại lệ<br />
(exception handler).<br />
<br />
2012-2013<br />
<br />
Object-Oriented Programming: Exception<br />
<br />
5<br />
<br />