我在Visual Basic .NET 2008中创建了一些复杂的应用程序,由于它们现在处于测试阶段,人们设法经常发现一两个错误导致程序崩溃。问题是它有一个跟踪件记录当前正在使用程序的人。当用户登录时,它会记录他们当前登录的情况,如果触发了表单关闭事件,则会删除日志以显示他们已将其关闭。
现在,只要表单因错误而崩溃,我的问题就会出现,因为它不会触发close事件,因此会使日志变得不准确。我的问题是,是否有可能捕获表单以事件形式出现的任何错误?
答案 0 :(得分:3)
尝试在解决方案资源管理器中双击“我的项目”。
在“应用程序”选项卡上,底部是“查看应用程序事件”按钮。点击它。
您应该看到“ApplicationEvents”文件。选择UnhandledException
活动。
它应该是这样的:
Namespace My
' The following events are available for MyApplication:
'
' Startup: Raised when the application starts, before the startup form is created.
' Shutdown: Raised after all application forms are closed. This event is not raised if the application terminates abnormally.
' UnhandledException: Raised if the application encounters an unhandled exception.
' StartupNextInstance: Raised when launching a single-instance application and the application is already active.
' NetworkAvailabilityChanged: Raised when the network connection is connected or disconnected.
Partial Friend Class MyApplication
Private Sub MyApplication_UnhandledException(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
// log your exception here.
End Sub
End Class
End Namespace
注意:此活动不会触发while a debugger is attached。
答案 1 :(得分:0)
您可以围绕Try...Catch块包装代码以捕获抛出的异常。
示例:
Public Sub testProgram()
Try
'the code goes here
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
实际上应该在开发阶段进行异常处理。现在这样做将是一项繁琐的工作。