我有一个VB.Net WinForms应用程序,在应用程序退出时抛出异常。关闭应用程序时发生仅异常,并且不会影响应用程序的运行。引发的异常是 InvalidOperationException ,并且调试器无法识别异常发生的位置,而在Visual Studio 2008中,异常显示在弹出窗口中而没有引用行号。
以下是其他人有完全相同的问题: http://bytes.com/topic/c-sharp/answers/659366-invalidoperationexception-appeared-after-introduction-webbrowser-control
正如此链接中所提到的,异常是间歇性的,但是以某种方式与WebBrowser控件相关,因为退出应用程序时的异常仅在至少显示了两个带有WebBrowser控件的表单时才会发生。 (或者打开和关闭两次WebBrowser控件的一个表单。)
现在在VB.Net中,我能够在 AppDomain.CurrentDomain.UnhandledException 处理程序中捕获异常,但是我设法阻止Windows报告异常的唯一方法是使用 MessageBox 在处理程序中显示消息。如果我在处理程序中取消 MessageBox.Show 调用,则在应用程序关闭时会报告异常。
有没有人知道我可以在 UnhandledException 处理程序中抑制此异常的方法,以便应用程序始终干净地退出?
答案 0 :(得分:1)
我在问题的答案中找到了对这个问题的回答之一:
将此添加到UnhandledException方法以防止Windows崩溃通知显示:
Environment.Exit(1)
感谢Hans Passant获取此有用信息。