1

我有一个 VB.Net WinForms 应用程序,当应用程序退出时会引发异常。该异常在关闭应用程序时发生,绝不会影响应用程序的功能。抛出的异常是InvalidOperationException并且调试器无法识别异常发生的位置,而在 Visual Studio 2008 中,异常显示在弹出窗口中而不引用行号。

这是其他人也有完全相同的问题: http ://bytes.com/topic/c-sharp/answers/659366-invalidoperationexception-appeared-after-introduction-webbrowser-control

如该链接中所述,该异常是间歇性的,但在某种程度上与 WebBrowser 控件有关,因为退出应用程序时的异常仅在显示至少 2 个带有 WebBrowser 控件的表单时才会发生。(或者一个带有 WebBrowser 控件的表单打开和关闭了两次。)

现在在 VB.Net 中,我能够在AppDomain.CurrentDomain.UnhandledException处理程序中捕获异常,但我设法阻止 Windows 报告异常的唯一方法是使用MessageBox在处理程序中显示消息。如果我在处理程序中停止MessageBox.Show调用,则在应用程序关闭时会报告异常。

有谁知道我可以在UnhandledException处理程序中抑制此异常以便应用程序始终干净退出的方法?

4

1 回答 1

1

我找到了我的问题的答案,这是对这个问题的回答之一:

如何使用线程异常?

将此添加到 UnhandledException 方法以防止出现 Windows 崩溃通知:

Environment.Exit(1)

感谢Hans Passant提供这些有用的信息。

于 2012-05-22T19:24:01.383 回答