
正文
wpf 全局异常捕获处理
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App : Application
{
private const string Tag = nameof(App);
public App()
{
Dispatcher.UnhandledException += Dispatcher_UnhandledException;
DispatcherUnhandledException += App_DispatcherUnhandledException;
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; } private void Dispatcher_UnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
Logger.Fatal(Tag,"",e.Exception);
} private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
var exception = e.ExceptionObject as Exception;
var terminatingMessage = e.IsTerminating ? " The application is terminating." : string.Empty;
var exceptionMessage = exception?.Message ?? "An unmanaged exception occured.";
var message = string.Concat(exceptionMessage, terminatingMessage);
Logger.Fatal(Tag, message, exception);
} private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
Logger.Fatal(Tag, "", e.Exception);
}
}







