WPF 和 Application.ThreadException
WPF 和 Application.ThreadException
该问题已经在此处有答案:
有时,在无法重现的情况下,我的WPF应用程序会在没有任何消息的情况下崩溃。应用程序只是立即关闭。
在哪里实现全局Try/Catch块是最好的位置。至少我必须实现一个带有:“对不起造成的不便...”消息框。
admin 更改状态以发布 2023年5月23日
您可以在不同层面捕获未处理的异常:
AppDomain.CurrentDomain.UnhandledException
来自于应用程序域中的所有线程。Dispatcher.UnhandledException
来自于单个特定的UI调度程序线程。Application.Current.DispatcherUnhandledException
来自于您的WPF应用程序中的主UI调度程序线程。TaskScheduler.UnobservedTaskException
来自于每个使用任务调度程序执行异步操作的应用程序域内部。
您应该考虑在哪个层面上捕获未处理的异常。
在第2和第3之间做出决定取决于您是否使用多个WPF线程。这是相当奇特的情况,如果您不确定自己是否在使用多个WPF线程,那么最有可能的是您没有使用。