全局处理未处理的异常并显示错误报告WinForm(VB.NET)

时间:2019-01-30 18:00:49

标签: vb.net user-interface error-handling unhandled-exception

我在升级非常大,非常旧的程序到VB.NET我的工作的过程中,我相信用户会在测试过程中会遇到许多错误。我想为程序开发一种方法来捕获任何未处理的异常,并为用户提供WindowsForm,使他们能够在遇到错误时提供有关他们在做什么的详细信息,然后向我们的开发人员发送电子邮件。信息(用户,错误时间,错误字符串,用户的注释)。

我已经创建了表单,并设置了发送电子邮件和所有内容的功能(该部分有效)。但是,我尝试将以下代码添加到程序的ApplicationEvents部分,但所有操作都显示了瞬间并退出的形式(这是我认为处理异常时应该执行的操作):

Partial Friend Class MyApplication
    Private Sub MyApplication_UnhandledException(sender As Object, e As ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
        frmErrorEmail.Show()
    End Sub
End Class

是否可以在不立即关闭程序的情况下显示表单?我假设这不可能,因为当发生错误时,它实际上是在破坏程序。由于不知道下一步该怎么做,因此它将关闭。

我还考虑过将这种形式添加为单独的exe,当程序遇到上述错误时运行该exe,但这可能是一种不好的方法,因为我必须确保位置/名称没有更改等。

任何见识将不胜感激。感谢您的宝贵时间。

0 个答案:

没有答案