c# – 从任何线程处理未处理的异常
发布时间:2020-12-15 08:48:33 所属栏目:百科 来源:网络整理
导读:编辑 这个问题的答案有帮助谢谢我感谢帮助:)但我最终使用:http://code.msdn.microsoft.com/windowsdesktop/Handling-Unhandled-47492d0b#content 原来的问题: 我想在我的应用程序崩溃时显示错误消息. 目前我有: App.xaml中: Application x:Class="WpfApp
编辑
这个问题的答案有帮助谢谢我感谢帮助:)但我最终使用:http://code.msdn.microsoft.com/windowsdesktop/Handling-Unhandled-47492d0b#content 原来的问题: 我想在我的应用程序崩溃时显示错误消息. 目前我有: App.xaml中: <Application x:Class="WpfApplication5.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" DispatcherUnhandledException="App_DispatcherUnhandledException" // <---------------- StartupUri="MainWindow.xaml"> <Application.Resources> </Application.Resources> </Application> App.xaml的代码隐藏 namespace WpfApplication5 { public partial class App : Application { private void App_DispatcherUnhandledException(object sender,DispatcherUnhandledExceptionEventArgs e) { MessageBox.Show("Caught Unhandled Exception!"); } } } 当主线程发生错误时,该解决方案非常有效.现在我的问题是如何能够捕获发生在不同线程上的错误? 换句话说:当我按下这个按钮时,我可以捕获异常:(App_DispatcherUnhandledException被调用!) private void button1_Click(object sender,RoutedEventArgs e) { int.Parse("lkjdsf"); } 但是我无法捕捉到这个例外: private void button1_Click(object sender,RoutedEventArgs e) { Task.Factory.StartNew(() => { int.Parse("lkjdsf"); }); } 无论是否在主线程上发生,我将如何捕获所有异常? 解决方法
您可以使用
AppDomain.UnhandledExceptionHandler处理未捕获的异常.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |