当你需要ChatAI服务但无法魔法或没有海外手机号码时,Chat8就是你的解决方案。我们基于OpenAi开发,所有用户内容都会加密,欢迎使用!点击使用:
https://chat.chat826.com/#/register?bronk_on=375671
wpf 全局异常捕捉
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
/// <summary>
/// 初始化一个<see cref="App"/>类型的新实例
/// 全局异常
/// </summary>
public App()
{
//注册全局事件
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
DispatcherUnhandledException += App_DispatcherUnhandledException;
TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;
}
private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs args)
{
const string msg = "主线程异常";
try
{
if (args.ExceptionObject is Exception && Dispatcher != null)
{
Dispatcher.Invoke(() =>
{
Exception ex = (Exception)args.ExceptionObject;
HandleException(msg, ex);
});
}
}
catch (Exception ex)
{
HandleException(msg, ex);
}
}
private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs args)
{
const string msg = "子线程异常";
try
{
HandleException(msg, args.Exception);
args.Handled = true;
}
catch (Exception ex)
{
HandleException(msg, ex);
}
}
private void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs args)
{
const string msg = "异步异常";
try
{
HandleException(msg, args.Exception);
args.SetObserved();
}
catch (Exception ex)
{
HandleException(msg, ex);
}
}
private void HandleException(string msg, Exception ex)
{
_logger.Error(msg, ex);
}
}