Bài 10

Exception Handling

 Ôn tập lại bài cũ

• Namespace là gì?

• System namespace

• Custom namespace

• Access modifier cho namespace

• Unqualified và Qualified naming

• Nested namespace

• Namespace alias

Exception Handling

 Nội dung trình bày

• Exception là gì?

• Phân loại Exception

• Exception classes

• Các thuộc tính của lớp Exception

• Bắt và xử lý ngoại lệ (Exception handling)

• Câu lệnh Throw

Subject name / Session# / 3 of Totalpage

• Câu lệnh Finally

Exception Handling

 Exception là gì?

• Exception là những lỗi xảy ra khi chạy chương trình(error là những

lỗi được trình biên dịch phát hiện và chỉ ra ngay lúc biên dịch

chương trình).

(cid:0) Lỗi nhập sai định dạng dữ liệu

(cid:0) Lỗi chia cho không

(cid:0) Lỗi truy xuất vượt quá phạm vi của mảng

(cid:0) Lỗi tràn bộ nhớ

(cid:0) Lỗi thiếu bộ nhớ

(cid:0) …

• Ví dụ:

Exception Handling

 Phân loại Exception

(cid:0) System level exception

 Là những ngoại lệ được ném ra bởi CRL. Ví dụ lỗi do kết

• Có thể chia làm 2 loại:

(cid:0) Application level exception

 Là những ngoại lệ được ném ra bởi người phát triển ứng

nối đến database, lỗi trong kết nối mạng…

dụng. Ví dụ lỗi do thực hiện phép toán chia cho số 0, tham

chiếu đến một null object.

Exception Handling

 Exception classes

• Là những lớp dùng để xử lý các loại exception(ngoại lệ)

Exception Handling

 Các thuộc tính của lớp Exception

 Exception là lớp cơ sở của tất cả các lớp xử lý ngoại lệ

Thuộc tính Mô tả

Message Chứa thông điệp chỉ ra nguyên nhân gây ra lỗi

Source Cung cấp tên ứng dụng hoặc đối tượng gây ra lỗi

StarckTrace Cung cấp thông tin chi tiết của ngoại lệ trên vùng nhớ khi

xảy ra ngoại lệ

Exception Handling

 Bắt và xử lý ngoại lệ(Exception handling)

• Người viết chương trình phải bắt và xử lý các ngoại lệ để đảm bảo

chương trình họat động bình thường

• Trong C#, việt bắt và xử lý ngoại lệ bằng cấu trúc try-catch

Exception Handling

 Sau try có thể có nhiều catch để bắt và xử lý nhiều loại lỗi khác

nhau

 Ví dụ DEMO cấu trúc try – catch để bắt và xử lý ngoại lệ

Exception Handling

 Câu lệnh throw

• Câu lênh throw dùng để ném ra một ngoại lệ

• Đối số của câu lệnh throw là đối tượng của một lớp để bắt ngoại lệ

• Cú pháp: throw exceptionObject

• Ví dụ DEMO câu lệnh throw

Exception Handling

 Câu lệnh finally

• Khi những câu lệnh mà người phát triển chương trình thấy rằng cần

(cid:0) Ví dụ các câu lệnh đóng kết nối đến cơ sở dữ liệu, đóng file

phải được thực hiện cho dùng có lỗi xảy ra trong khối try.

đang mở

• Khi đó cần phải đặt các câu lệnh này trong từ khóa finally

• Finally là khối lệnh không bắt buộc(optional) phải có sau try.

• Không có đối số cho finally

• Ví dụ DEMO từ khóa finally

Exception Handling

 Tổng kết

• Khái niệm Exception

• Phân loại Exception

• Exception classes

• Các thuộc tính của lớp Exception

• Bắt và xử lý ngoại lệ (Exception handling)

• Câu lệnh Throw

• Câu lệnh Finally