
1
X lý ngo i lử ạ ệ
•X lý l i và ngo i lử ỗ ạ ệ
•Kh i try/catch/finallyố
•Các l p ngo i lớ ạ ệ
•Xây d ng l p ngo i lự ớ ạ ệ
•Lan truy n ngo i lề ạ ệ
•Tung l i ngo i lạ ạ ệ
•Bài t pậ

2
X lý l i và ngo i lử ỗ ạ ệ
•Trong m t s ngôn ng nh C, vi c x lý l i th ng ộ ố ữ ư ệ ử ỗ ườ
đc cài đt ngay t i các b c th c hi n c a ượ ặ ạ ướ ự ệ ủ
ch ng trình. Các hàm s tr v m t c u trúc l i khi ươ ẽ ả ề ộ ấ ỗ
g p l i.ặ ỗ
•Ví d : Tìm ki m ph n t trong m t danh sáchụ ế ầ ử ộ
•ErrorStruct error = new ErrorStruct();
•TableEntry entry = lookup(“Marianna”, employee, error);
•if (entry == null)
•{
• return error;
•}

3
X lý l i và ngo i lử ỗ ạ ệ
Mã l nh và mã x lý l i n m xen k khi n l p ệ ử ỗ ằ ẽ ế ậ
trình viên khó theo dõi đc thu t toán chính c a ượ ậ ủ
ch ng trình.ươ
Khi m t l i x y ra t i hàm A, t t c các l i g i ộ ỗ ả ạ ấ ả ờ ọ
hàm l ng nhau đn A đu ph i x lý l i mà A tr ồ ế ề ả ử ỗ ả
v .ề

4
X lý l i và ngo i lử ỗ ạ ệ
•Trong Java, vi c x lý l i có th đc cài đt trong ệ ử ỗ ể ượ ặ
m t nhánh đc l p v i nhánh chính c a ch ng ộ ộ ậ ớ ủ ươ
trình.
•L i đc coi nh nh ng tr ng h p ngo i l ỗ ượ ư ữ ườ ợ ạ ệ
(exceptional conditions). Chúng đc b t/ném ượ ắ
(catch and throw) khi có l i x y ra.ỗ ả
=> M t tr ng h p l i s ch đc x lý t i n i c n ộ ườ ợ ỗ ẽ ỉ ượ ử ạ ơ ầ
x lý.ử
=> Mã chính c a ch ng trình sáng s a, đúng v i ủ ươ ủ ớ
thi t k thu t toán.ế ế ậ

5
Ví d 1ụ
import java.awt.Point;
public class MyArray
{
public static void main(String[ ] args) {
System.out.println("Goi phuong thuc methodeX()");
methodeX();
System.out.println("Chuong trinh ket thuc binh thuong");
}
public static void methodeX() {
Point[ ] pts = new Point[10];
for(int i = 0; i < pts.length; i++) {
pts[i].x = i;
pts[i].y = i+1;
}
}
}

