【发布时间】:2011-09-04 09:12:35
【问题描述】:
我目前正在维护一个 WinForms 应用程序,它侦听 Application.ThreadException 事件以捕获 GUI 线程上未处理的异常。
直到最近,一切都按预期进行。但是最近,一些生产盒不再适当地提出此事件;当 GUI 线程上出现未处理的异常时,应用程序会跳过处理程序并崩溃。奇怪的是,我能够在我的(新的)开发盒上重现这一点,但实际上有一些机器上的事件是正确引发的。
我可以通过像这样显式设置策略来使行为保持一致:
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
但我很想知道是什么控制了默认策略。 MSDN 对“应用程序配置文件”做了模糊的暗示,但在我们的 app.config 或我知道的任何其他配置文件中没有这样的策略设置。
是什么导致了这种不一致的行为?
【问题讨论】:
标签: .net winforms unhandled-exception