Bài giảng Lập trình hướng đối tượng - Bài 08: Ngoại lệ và xử lý ngoại lệ

8/24/2011  
Mục tiêu của bài học  
Giải thích về ngoại lệ là gì và mô tả các lợi  
ích của việc xử lý ngoại lệ hướng đối tượng  
Bộ môn Công nghệ Phần mềm  
Viện CNTT & TT  
Trường Đại học Bách Khoa Hà Nội  
Giải thích được mô hình xử lý ngoại lệ  
Sử dụng khối try/catch/finally để bắt và xử lý  
ngoại lệ trong Java  
Hiểu và biết cách sử dụng ủy nhiệm ngoại lệ  
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG  
Bài 08. Ngoại lệ và xử lý ngoại lệ  
Biết cách tạo ra và sử dụng ngoại lệ tự định  
nghĩa  
2
Nội dung  
Nội dung  
1. Ngoại lệ  
1. Ngoại lệ  
2. Bắt và xử lý ngoại lệ  
3. Ủy nhiệm ngoại lệ  
4. Tạo ngoại lệ tự định nghĩa  
2. Bắt và xử lý ngoại lệ  
3. Ủy nhiệm ngoại lệ  
4. Tạo ngoại lệ tự định nghĩa  
3
4
1.1. Ngoại lệ là gì?  
1.1. Ngoại lệ là gì? (2)  
Exception = Exceptional event  
ERROR !!  
Ví dụ:  
5
6
1
8/24/2011  
Ví dụ  
1.2. Cách xử lý lỗi truyền thống  
int devide(int num, int denom, int *error)  
Viết mã xử lý tại nơi phát sinh ra lỗi  
Truyền trạng thái lên mức trên  
{
if (denom != 0){  
error = 0;  
return num/denom;  
} else {  
error = 1;  
return 0;  
}
}
7
8
Nhược điểm  
Nội dung  
1. Ngoại lệ  
2. Bắt và xử lý ngoại lệ  
3. Ủy nhiệm ngoại lệ  
4. Tạo ngoại lệ tự định nghĩa  
9
10  
2.1. Mục đích của xử lý ngoại lệ  
2.1. Mục đích của xử lý ngoại lệ (2)  
Khi xảy ra ngoại lệ, nếu không có cơ chế xử  
lý thích hợp?  
11  
12  
2
8/24/2011  
2.2. Mô hình xử lý ngoại lệ  
2.2. Mô hình xử lý ngoại lệ (2)  
Hướng đối tượng  
2 cách  
13  
17  
14  
16  
18  
2.3. Xử lý ngoại lệ trong Java  
2.3. Xử lý ngoại lệ trong Java (2)  
Java có cơ chế xử lý ngoại lệ rất  
mạnh  
Các từ khóa  
try  
catch  
finally  
throw  
throws  
Ví dụ không xử lý ngoại lệ  
2.3.1. Khối try/catch  
class NoException {  
Khối try ... catch:  
try {  
public static void main(String args[]) {  
String text = args[0];  
// Doan ma co the gay ngoai le  
System.out.println(text);  
}
}
}
catch (ExceptionType e) {  
// Xu ly ngoai le  
}
3