5
您好,我有這個項目遇到了一些問題,應該是什麼應該是我的代碼「問題」處理程序。在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
我試圖在全球範圍內捕獲所有異常,並創建運行時日誌文件,這在調試器(異常處理和文本文件寫)工作正常,但之後我在安裝項目建設無法趕上任何未處理的異常和安裝到機器中。我錯過了什麼?我是否需要將其他組件添加到我的安裝項目中?幫助將不勝感激
處理程序是否運行 - 即。如果你將'MessageBox'移動到處理程序的第一行,你會發現它嗎?這可能是你在處理程序中出現錯誤(例如在日誌記錄中) – theduck
我試着將MessageBox移動到處理程序的第一行,並且顯示出來。我嘗試將斷點放置到處理程序的開始處,並直接通過處理程序 – Adrian
運行應用程序的用戶的日誌文件權限是否正確? – theduck