加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb.net – 捕获应用程序崩溃事件

发布时间:2020-12-17 07:15:18 所属栏目:百科 来源:网络整理
导读:我在VB.Net上做了一个应用程序.但有些用户在启动时会遇到崩溃.这是“一个问题导致该程序无法正常工作”只需一个按钮“关闭程序”.由于应用程序加载时发生了很多事情,是否可以知道导致问题的原因? 解决方法 如果在项目的属性中启用了“应用程序框架”,请单击
我在VB.Net上做了一个应用程序.但有些用户在启动时会遇到崩溃.这是“一个问题导致该程序无法正常工作”只需一个按钮“关闭程序”.由于应用程序加载时发生了很多事情,是否可以知道导致问题的原因?

解决方法

如果在项目的属性中启用了“应用程序框架”,请单击“应用程序”项目属性页面上的“查看应用程序事件”按钮.然后添加事件处理程序:

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

无论当前线程如何,该事件处理程序将从域中的任何位置调用所有未处理的异常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读