【发布时间】:2010-11-26 11:44:23
【问题描述】:
我正在使用以下事件在主 UI 线程中捕获未处理的异常。
Application.ThreadException
不幸的是,它没有在单独的线程中捕获那些未处理的错误。我知道
AppDomain.CurrentDomain.UnhandledException
但是,这似乎会在触发时关闭应用程序,而前者不会。
有没有办法在不关闭应用程序的情况下处理单独线程上未处理的异常?
【问题讨论】:
-
是的,请确保您的线程不会抛出未处理的异常。正如 Eric Lippert 所说:“最安全的做法是假设每个未处理的异常要么是致命异常,要么是未处理的愚蠢异常。在这两种情况下,正确的做法是立即取消进程。” blogs.msdn.com/b/ericlippert/archive/2010/11/23/…
-
您忘记了那篇文章最精彩的部分:“正如 Ripley 所说,当出现问题时,您应该起飞并从轨道上对整个站点进行核爆炸;这是唯一确定的方法”
-
有兴趣找文章的朋友,之前的链接已经失效了,可以去这里:web.archive.org/web/20101124205815/http://blogs.msdn.com/b/…
标签: c# exception-handling