我想要得到默认的Windows的形式处理异常的对话,只要我#应用程序遇到U-E在vs2005年当我关闭时进行调试的应用程序。conf这样的:

<configuration>
   <system.windows.forms jitDebugging="false" />
<configuration>

该应用程序的行为正确并表示Windows形式U-E默认的对话,继续,退出,呼叠和所有。

然而,在vs2008年,在同一台机器上的或者不同,尽管我魔鬼时我还是得到默认。净未处理的异常对话,与调试,发送报告不发送的按钮。

如何能让我vs2008应用程序法》一样,我vs2005年,以显示Windows形式U-E对话框?

请不要让你使用

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

只是因为我不用定义的处理在我vs2005年的项目,为什么我会用在vs2008年?我想让这个工作做CLR。

任何帮助是理解

有帮助吗?

解决方案

你是在谈论不同的例外处理的功能。的 ThreadExceptionDialog 你看到有的放弃并继续按钮而被触发的 应用程序。ThreadException事件.它只会曾经出现,如果例外发生在UI线,当时一个事件处理程序运行在响应Windows消息引发一个例外。任何异常在一线工作人员但是将炸弹的程序通过程序域.UnhandledException.

你无法处理后,程序已经死了并不能再继续下去。显示ThreadExceptionDialog是毫无意义的。

你可以使程序炸弹一贯通过禁止ThreadException事件通过调用的应用程序。SetUnhandledExceptionMode().现在每一个未经处理的异常会触发域.UnhandledException和终止程序。这可能不是你想要的但却是明智的选择。

还注意到,ThreadException事件是无障碍运行程序时有一个调试器。这大概是为什么你看到一个差别在VS2008.没有,否则不被任何变化。

其他提示

答案由汉斯*顺便 似乎是明智的。然而,尽管你说你不想我还是推荐 一处理程序 AppDomain.CurrentDomain.UnhandledException 以确保你确定时会发生什么你的应用程序的崩溃,意外。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top