Cách tránh lỗi do không Try Catch làm ngưng chương trình - "Đời là vại dưa muối hỏng" - MVK - by Cá chu�: "thể handle được toàn bộ các Exception và show message lên cho người sử dụng mà không cần thiết phải Try Catch ở toàn"
Từ trước đến nay khi phát triển ứng dụng .NET ta rất hay gặp những Exception không mong muốn. Cái khổ là những Exception này không được Try Catch làm chết cả chương trình. Để Try Catch được toàn bộ lỗi thì hầu như đồng nghĩa mọi Method ta đều phải Try Catch. Quá mệt mỏi!
Có một cách để có thể handle được toàn bộ các Exception và show message lên cho người sử dụng mà không cần thiết phải Try Catch ở toàn bộ các Method: Dùng Event UnhandledException của hệ thống.
Đặc điểm của Event UnhandledException:
- Fire mỗi khi có một Exception không được try catch(Thế mới hay chứ)
- Chỉ Fire nếu chương trình chạy ở chế độ Runtime. Nếu chạy ở Debug thì sẽ không bao giờ handle được.
- Cho phép lựa chọn kết thúc chương trình hoặc chạy tiếp
Cách sử dụng như sau: Trong ApplicationEvent ta thêm hàm xử lý :
Private Sub MyApplication_UnhandledException(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
MessageBox.Show(String.Format(My.Resources.System_UnhandleException_Message, e.Exception.ToString), Me.Info.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
e.ExitApplication = False
End Sub
Rất đơn giản! Mọi Exception từ đơn giản đến phức tạp đều được Handle để chương trình có thể kết thúc êm thấm. Xa hơn nữa ta hoàn toàn có thể làm 1 Form dạng: "Send error to MISA để được trợ giúp"
Xem chi tiết tại: http://forum.misa.com.vn/forums/thread/3961.aspx
Monday, November 19, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment