You are on page 1of 1

*** Ngoại lệ Exception

- Khi nghi ngờ hoặc dự đoán 1 đoạn code nào có thể phát sinh lỗi khiến chương
trình dừng lại => sử dụng try...catch... Trong đó:
try {
// code
}
catch {
// xử lý khi có lỗi
// VD: console.writeline("Có lỗi");
}
- Khi phát sinh lỗi trong try sẽ phát sinh 1 đối tượng Exception hoặc đối tg
đc kế thừa từ lớp Exception => có thể bắt lấy đối tượng đó để xử lý lỗi:
try {
// code
}
catch (Exception e) {
// console.log(e.Message);
// ....
}

Trong đó có các thuộc tính như:


e.Message: hiện ra tên lỗi
e.StackTrace: hiện ra nơi xảy ra lỗi
e.GetType().Name: tên kiểu cụ thể của đối tượng exception phát sinh

- Khi một đoạn code có thể phát sinh nhiều exception, sd nhiều khối catch để
bắt được tất cả những exception đó, nhưng phải chỉ ra kiểu cụ thể của exception
vd lỗi chia cho 0 thì phải định nghĩa kiểu: DivideByZeroException; lỗi truy
cập vào index lớn hơn độ dài của mảng thì định nghĩa kiểu: IndexOutOfRangeException
... vì nếu dùng kiểu Exception thì chỉ định nghĩa được 1 lần.

- Có thể tạo ra Exception mới bằng cách định nghĩa 1 class kế thừa từ lớp
Exception như sau:

public MyException : Exception {


public MyException () : base("Message") {
// để rỗng
};
}

You might also like