在WPF中处理未处理的异常
在WPF中处理未处理的异常
此问题已有答案:
有时候,在无法重现的情况下,我的WPF应用程序会突然崩溃,而没有任何信息提示。应用程序会直接关闭。
最好在哪里实现全局的Try/Catch块?至少我必须实现一个带有信息:\"抱歉造成不便...\"的消息框。
admin 更改状态以发布 2023年5月21日
您可以在不同级别上捕获未处理的异常:
AppDomain.CurrentDomain.UnhandledException
:来自应用程序域中的所有线程。Dispatcher.UnhandledException
:来自单个特定的UI调度程序线程。Application.Current.DispatcherUnhandledException
:来自您的WPF应用程序中的主UI调度程序线程。TaskScheduler.UnobservedTaskException
:来自使用任务计划程序进行异步操作的每个应用程序域。
您应该考虑在哪个级别上捕获未处理的异常。
在#2和#3之间做出决定取决于您是否使用多个WPF线程。 这是相当奇特的情况,如果您不确定自己是否正在使用,则很可能您没有。