如果我的 Class 库中存在未处理的异常,我的应用程序会崩溃吗?

My Application crashes if there is an unhandled exception in my Class Library?

我所做的基本上是创建一个 .DLL。我在这些 DLL 中有很多东西,碰巧我错过了一个场景,一些意想不到的事情发生了。我正在对其进行单元测试,但我想百分百确定我的 WinForms 应用程序永远不会崩溃。

我有:

一个解决方案有两个项目:

我做了什么:

在 ProjectWinForms 中,我将其添加到 ApplicationEvents.vb

  Private Sub MyApplication_UnhandledException(sender As Object, e As UnhandledExceptionEventArgs) Handles Me.UnhandledException
        Bugsplat_Lander.ExeptionToShow = e.Exception
        Bugsplat_Lander.Show()
        Bugsplat_Lander.BringToFront()
        e.ExitApplication = False
    End Sub

只要在我的 ProjectWinForms 项目中发生异常,它就可以正常工作。但是,如果我构建一个发布版本,将其移动到另一台计算机,并创建一个例外;我的应用程序将简单地关闭,并将错误写入 Windows 事件。

我想达到的目标:

基本上最好的办法是打开此表单,即使在我的 ProjectDLL 代码中发生异常,也不要退出应用程序。

我确定是我做错了什么,只是想不通是什么。

首先,黄金法则是:如果您的代码产生了异常,则必须对其进行处理,否则您的应用程序将在脏状态下运行。 对于您的问题,请查看 Application.SetUnhandledExceptionMode Method。也许这可以帮助你