/// <summary> /// 应用程序异常事件 /// </summary> protected override void OnUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs eventArgs) { Exception exception = eventArgs.Exception; eventArgs.Handled = true; //释放遮罩 BusyExtension.GlobalIdle(); //提示消息 string errorMessage = string.Empty; errorMessage = GetErrorMessage(exception.Message, ref errorMessage); MessageBox.Show(errorMessage, "错误", MessageBoxButton.OK, MessageBoxImage.Error); #region # 身份认证异常处理 if (exception is FaultException faultException && faultException.Code.Name == HttpStatusCode.Unauthorized.ToString()) { IList <Window> activeWindows = new List <Window>(); foreach (Window window in Application.Current.Windows) { activeWindows.Add(window); } base.DisplayRootViewFor <LoginViewModel>(); activeWindows.ForEach(window => window.Close()); } #endregion //记录日志 WriteLog(exception); }
/// <summary> /// 应用程序异常事件 /// </summary> protected override void OnUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs eventArgs) { Exception exception = eventArgs.Exception; eventArgs.Handled = true; //释放遮罩 BusyExtension.GlobalIdle(); //提示消息 string errorMessage = string.Empty; errorMessage = GetErrorMessage(exception.Message, ref errorMessage); MessageBox.Show(errorMessage, "错误", MessageBoxButton.OK, MessageBoxImage.Error); //记录日志 WriteLog(exception); }