我使用VB.Net制作了一个应用程序,但是有些用户在启动时会遇到崩溃的问题。提示信息是 "A problem caused this program from working correctly" 并且只有一个按钮 "Close the program"。由于在应用程序加载时发生了很多事情,所以是否有可能知道是什么导致了这个问题?
我使用VB.Net制作了一个应用程序,但是有些用户在启动时会遇到崩溃的问题。提示信息是 "A problem caused this program from working correctly" 并且只有一个按钮 "Close the program"。由于在应用程序加载时发生了很多事情,所以是否有可能知道是什么导致了这个问题?
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
那个事件处理程序将被调用来处理域中任何地方的所有未处理异常,无论当前线程如何。