1. Phát sinh và bắt giữ ngoại lệ.
2. Câu lệnh throw.
3. Câu lệnh catch.
4. Câu lệnh finally.
5. Những đối tượng ngoại lệ.
6. Tạo riêng các ngoại lệ.
7. Phát sinh lại ngoại lệ.
7 trang |
Chia sẻ: phuongt97 | Lượt xem: 487 | Lượt tải: 0
Nội dung tài liệu Bài giảng Xử lý ngoại lệ (Exception), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Xử lý ngoại lệ (Exception)1. Phát sinh và bắt giữ ngoại lệ.2. Câu lệnh throw.3. Câu lệnh catch.4. Câu lệnh finally.5. Những đối tượng ngoại lệ.6. Tạo riêng các ngoại lệ.7. Phát sinh lại ngoại lệ.1Viet Anh Phan – K12Ngoại lệ- Ngoại lệ là 1 đối tượng chứa các thông tin về sự cố của chương trình trong thời điểm chạy.Bug và Error: Bug là các lỗi về mặt lập trình. Với bug, người lập trình phải sửa code cho đúng. Error là lỗi do người sử dụng. Ví dụ với dữ liệu kiểu số nhưng người dùng nhập kiểu ký tự, xâu ký tự. Với error người lập trình có thể tiên đoán và hạn chế các lỗi này.Cả Bug và error đều phát sinh ngoại lệ.2Viet Anh Phan – K12Cấu trúc khối lệnh xử lý lỗi try { } catch[(Exception ex)] { } finally { }3Viet Anh Phan – K12Khối lệnh xử lý lỗiKhối lệnh try thường đặt bao quanh khối lệnh tiềm ẩn gây ra nguy hiểm.Khi khối lệnh được bao bởi try phát sinh ngoại lệ. catch được dùng để bắt ngoại lệ. Khối lệnh trong catch dùng để xử lý lỗi.4Viet Anh Phan – K12Lệnh throw- Lệnh throw: để phát sinh ra ngoại lệ.Cú pháp: throw objException.+ objException: là đối tượng kiểu Exception hoặc các dẫn xuất của nó.Khi phát sinh ngoại lệ lập tức dừng việc thực thi chương trình, CLR sẽ tìm kiếm trình xử lý ngoại lệ. Nếu không tìm thấy trong phương thức hiện thời thì sẽ tìm trong phương thức gọi. Nếu đến hàm Main() vẫn không có trình xử lý sự kiện thì CLR sẽ dừng chương trình. Ví dụ: 5Viet Anh Phan – K12Lệnh catchTrình xử lý sự kiện được đặt trong khối lệnh catchVí dụ sau, câu lệnh throw được thực thi bên trong khối try, và một khối catch được sử dụng để công bố rằng một lỗi đã được xử lý.public void Func2() { Console.WriteLine("Enter Func2..."); try { Console.WriteLine("Entering try block..."); throw new System.Exception(); Console.WriteLine("Exiting try block..."); } catch { Console.WriteLine("Exception caught and handled."); } Console.WriteLine("Exit Func2..."); }6Viet Anh Phan – K12Lệnh finallyTình huống: trong thực tế, một số thao tác ta cần phải thực hiện dù có phát sinh ngoại lệ hay không. Ví dụ: khi thao tác với file, chúng ta cần đóng file, giải phóng vùng đệm chúng chiếm giữ ngay cả khi phát sinh ngoại lệ hay không.Giải pháp: viết lệnh đóng file trong cả khối lệnh try và catch -> trùng lặp lệnh, rườm rà.C# cung cấp cơ chế thay thế việc đó tốt hơn, trong khối lệnh finally.Khối lệnh trong finally sẽ được thực hiện dù có phát sinh ngoại lệ hay không. 7Viet Anh Phan – K12
Các file đính kèm theo tài liệu này:
- bai_giang_xu_ly_ngoai_le_exception.ppt