VB.NET 捕获整个应用程序的错误

VB.NET catch error for ENTIRE application

需要一些 VB.net 编码方面的帮助(不是 C 或 C++) 到目前为止,我正在使用此代码来捕获特定代码行的错误:

Try
    bla bla bla                   
Catch ex As Exception
    msbox("Error: " & ex.message)
End Try

但有时应用程序会因为我没有捕捉到的错误而停止;在这种情况下,我如何针对整个应用程序中的任何其他错误调用特定的子程序(捕获错误),其中子程序将显示错误消息(我还计划在该子程序中向自己发送一封电子邮件至通知我应用程序已停止)?

我不确定它是否会与我的应用程序中所有当前 Try/Catch 命令冲突,但我更愿意只捕获当前不在 Catch 处理程序中的代码上的错误。

非常感谢!

关于您的电子邮件想法,请确保在您的应用程序中自动通过电子邮件向自己发送任何内容之前添加隐私声明;这可能是用户争论的焦点,如果精明的人发现它悄悄打电话回家,你的代表就完蛋了。

关于全局错误处理程序,请看这里:

https://www.dotnetcurry.com/patterns-practices/1364/error-handling-dotnet-projects

此功能内置于 VB 应用程序框架中,在 WinForms 应用程序中默认启用。打开项目属性的 Application 页面,单击 View Application Events 按钮并使用导航为 UnhandledException 事件添加处理程序代码顶部的栏 window。完成!

VB 应用程序框架隐藏了一些您必须自己用 C# 实现的应用程序的复杂性。它包括一个您可以处理的 Startup 事件,而不是将代码添加到 Main 方法,一个 StartupNextInstance 事件以支持带有命令行参数的单实例应用程序,多线程启动画面功能和更多