feat: 初始功能
This commit is contained in:
38
App.xaml.cs
Normal file
38
App.xaml.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using System.Windows.Threading;
|
||||
using CloudPrint.Client.Models;
|
||||
using CloudPrint.Client.Services;
|
||||
|
||||
namespace CloudPrint.Client;
|
||||
|
||||
public partial class App : System.Windows.Application
|
||||
{
|
||||
private readonly FileAppLogger _logger = new();
|
||||
|
||||
protected override void OnStartup(System.Windows.StartupEventArgs e)
|
||||
{
|
||||
base.OnStartup(e);
|
||||
DispatcherUnhandledException += OnDispatcherUnhandledException;
|
||||
AppDomain.CurrentDomain.UnhandledException += OnUnhandledException;
|
||||
TaskScheduler.UnobservedTaskException += OnUnobservedTaskException;
|
||||
}
|
||||
|
||||
private void OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
|
||||
{
|
||||
_logger.Write(AppLogEntry.FromException("UI 未处理异常", e.Exception));
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
private void OnUnhandledException(object sender, UnhandledExceptionEventArgs e)
|
||||
{
|
||||
if (e.ExceptionObject is Exception exception)
|
||||
{
|
||||
_logger.Write(AppLogEntry.FromException("应用未处理异常", exception));
|
||||
}
|
||||
}
|
||||
|
||||
private void OnUnobservedTaskException(object? sender, UnobservedTaskExceptionEventArgs e)
|
||||
{
|
||||
_logger.Write(AppLogEntry.FromException("后台任务未观察异常", e.Exception));
|
||||
e.SetObserved();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user