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;
}
}
}