我在 VB.Net 中做了一个应用程序。但是有些用户在启动时会遇到崩溃。那就是“一个问题导致该程序无法正常工作”,只需一个按钮“关闭程序”。由于应用程序加载时发生了很多事情,是否有可能知道导致问题的原因?
问问题
5771 次
1 回答
6
如果在您的项目属性中启用了“应用程序框架”,请单击“应用程序”项目属性页面上的“查看应用程序事件”按钮。然后添加一个事件处理程序:
Partial Friend Class MyApplication
Private Sub MyApplication_UnhandledException(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
' ...
End Sub
End Class
如果您不使用应用程序框架,则应在整个Main
方法周围放置一个 try catch 块。但是,这只会捕获主线程上发生的异常。如果您的应用程序是多线程的,您可以通过创建如下方法来处理来自所有线程的异常:
Public Sub UnhandledExceptionHandler(ByVal sender As Object, ByVal e As UnhandledExceptionEventArgs)
' ...
End Sub
然后将其附加到您当前域的UnhandledException
事件中,如下所示:
AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf UnhandledExceptionHandler
然后,无论当前线程如何,都会针对您域中任何地方的所有未处理异常调用该事件处理程序。
于 2012-05-09T15:34:48.843 回答