【发布时间】:2014-08-21 08:16:53
【问题描述】:
我有一个 WPF 应用程序。
我希望应用程序有一个通用函数来捕获不在 try-catch 块中的所有崩溃。应用程序不应崩溃并停止工作。相反,它应该重新启动以尝试再次运行。如果事实证明该应用程序真的搞砸了,它不应该进入无休止的重启循环。
我尝试使用 AppDomain.UnhandledExceptionHandler,它确实捕获了抛出的异常,但是在执行该方法之后 - 程序仍然崩溃。
有没有办法做到这一点?
【问题讨论】:
-
为什么不阻止异常发生而不是让它发生并尝试重新启动它?当然,有些例外是无法避免的,但只有少数例外。在这些地方添加异常处理。
-
我相信没有人能如此聪明地编写 100% 容易出错的代码,因此以用户友好的方式处理一小部分未处理的异常是很好的。
-
AppDomain.UnhandledExceptionHandler 让您有机会在退出程序之前记录未处理的异常以进行调试,而不是避免崩溃。
-
@chris 我明白了。这就是我在问题中实际解释的内容。
标签: c# wpf exception-handling