Ton*_*Nam 10 .net c# wpf exception unhandled-exception
这个问题的答案在哪里有用,谢谢我感谢帮助:)但我最终使用: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>
Run Code Online (Sandbox Code Playgroud)
代码隐藏App.xaml:
namespace WpfApplication5
{
public partial class App : Application
{
private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
MessageBox.Show("Caught Unhandled Exception!");
}
}
}
Run Code Online (Sandbox Code Playgroud)
当主线程发生错误时,该解决方案很有效.现在我的问题是如何能够捕获在不同线程上发生的错误?
换句话说:当我按下此按钮时,我能够捕获异常:( App_DispatcherUnhandledException被调用!)
private void button1_Click(object sender, RoutedEventArgs e)
{
int.Parse("lkjdsf");
}
Run Code Online (Sandbox Code Playgroud)
但是我无法捕捉到这个异常:
private void button1_Click(object sender, RoutedEventArgs e)
{
Task.Factory.StartNew(() =>
{
int.Parse("lkjdsf");
});
}
Run Code Online (Sandbox Code Playgroud)
无论它们是否发生在主线程上,我如何能够捕获所有异常?
Til*_*lak 12
您可以使用AppDomain.UnhandledExceptionHandler来处理未捕获的异常.