Xin chào Tôi có dự án này đang gặp phải một số vấn đề với những gì được cho là mã của tôi cho trình xử lý "sự cố".Xử lý ngoại lệ toàn cầu trong VB
Public Event UnhandledException As UnhandledExceptionEventHandler
Private Sub form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
AddHandler currentDomain.UnhandledException, AddressOf MyHandler
End Sub
Sub MyHandler(ByVal sender As Object, ByVal args As UnhandledExceptionEventArgs)
Dim e As Exception = DirectCast(args.ExceptionObject, Exception)
Using sw As New StreamWriter(File.Open(myFilePath, FileMode.Append))
sw.WriteLine(Date.now & e.toString)
End Using
MessageBox.Show("An unexcpected error occured. Application will be terminated.")
Application.Exit()
End Sub
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
Throw New Exception("Dummy Error")
End Sub
Tôi đang cố gắng trên toàn cầu bắt tất cả các trường hợp ngoại lệ và tạo logfile trong thời gian chạy, hoạt động tốt trong các chương trình gỡ rối (xử lý ngoại lệ và textfile văn bản) nhưng không thể bắt bất kỳ trường hợp ngoại lệ unhandled sau khi tôi xây dựng nó trong dự án thiết lập và Cài đặt vào máy. Tôi đang thiếu gì? Tôi có cần thêm các thành phần bổ sung vào dự án thiết lập của mình không? Trợ giúp sẽ được đánh giá rất cao
Trình xử lý có chạy không - tức là. nếu bạn di chuyển 'MessageBox' thành dòng đầu tiên trong trình xử lý, bạn có thấy nó không? Nó có thể là bạn đang nhận được một lỗi trong xử lý (ví dụ xung quanh việc đăng nhập?) – theduck
Tôi đã cố gắng di chuyển MessageBox đến dòng đầu tiên của xử lý và có nó xuất hiện. Tôi đã thử đặt điểm ngắt vào đầu của trình xử lý và bước vào và chảy ngay qua trình xử lý – Adrian
Các quyền trên tệp nhật ký có được chấp nhận cho người dùng đang chạy ứng dụng không? – theduck