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

