wpf - 当我有 CurrentDomain.UnhandledException 和 DispatcherUnhandledException 时,应用程序仍然崩溃

标签 wpf exception crash try-catch dispatcher

我正在编写一个 WPF 应用程序,并且对我的任何 try block 都无法捕获的未处理异常感到恼火。所以我在 app.xml.cs 中添加了这两个强大的异常处理程序:

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

但它们对我不起作用。我仍然遇到这个崩溃:
App停止工作,问题事件名称:APPCRASH,故障模块名称:clr.dll

我现在该怎么做才能找到问题?我似乎已经尽可能地放置了 try/catch block 。

提前致谢。

最佳答案

你不能捕获一切。

一些异常即使在句柄仍然可以让你的程序处于不稳定状态,所以它仍然会崩溃,即使异常已经被处理。

我相信这些异常不是“可捕获的”,您必须找出导致它们的原因。

一个通用的编程规则是永远不要默默地捕捉异常,如果你不能正确处理它们,就让它们“弹出”。

为了不使程序崩溃而添加 try block 确实是个坏主意。你应该弄清楚为什么它会抛出异常。
另外,异常(exception)情况比条件更昂贵的资源。

资源:

Partly crashing application? How can I catch uncatchable exceptions?

First Chance exceptions

关于wpf - 当我有 CurrentDomain.UnhandledException 和 DispatcherUnhandledException 时,应用程序仍然崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9593152/

相关文章:

android - SharedPreferences getLong() -> java.lang.String 无法转换为 java.lang.Long。怎么修?

spring - 在tomcat 7.0 + spring MVC中使用Tomcat manager,Webapp reload报apachelifecycle异常

visual-c++ - 为什么 ntdll.dll 会使我的 c++ 可执行文件崩溃?

wpf - 在事件上使用 Setter

.net - 使用附加行为防止内存泄漏

java - 设计问题: to what extent should I rely on exceptions for the flow of control?

asp.net - 调试.Net/IIS崩溃,该崩溃不会因附加调试器而崩溃

c# - WPF Visual Studio 调试 - 控制台

wpf - 在 Kaxaml 中使用自定义 XML 命名空间引用外部 DLL

iphone - iAd在iPad iOS 5.0.1(仅适用于AppStore版本)上崩溃,但在iPhone上运行