Beispiel #1
0
        private void SynchronizationContext_UnhandledException(object sender, AysncUnhandledExceptionEventArgs e)
        {
            e.Handled = true;
            if (!(e.Exception is TaskCanceledException) && !(e.Exception is OperationCanceledException))
            {
                var loader = ResourceLoader.GetForViewIndependentUse();
                if (e.Exception is System.Net.Http.HttpRequestException || e.Exception.HResult <= -2147012721 && e.Exception.HResult >= -2147012895)
                {
                    UIHelper.StatusBar_ShowMessage($"{loader.GetString("NetworkError")}(0x{Convert.ToString(e.Exception.HResult, 16)})");
                }
                else if (e.Exception is Core.Exceptions.CoolapkMessageException)
                {
                    UIHelper.StatusBar_ShowMessage(e.Exception.Message);
                }
                else if (e.Exception is Core.Exceptions.UserNameErrorException)
                {
                    UIHelper.StatusBar_ShowMessage(loader.GetString("UserNameError"));
                }
                else if (SettingsHelper.Get <bool>(SettingsHelper.ShowOtherException))
                {
                    UIHelper.StatusBar_ShowMessage($"{loader.GetString("ExceptionThrown")}\n{e.Exception.Message}\n{e.Exception.HResult}(0x{Convert.ToString(e.Exception.HResult, 16)})"
#if DEBUG
                                                   + $"\n{e.Exception.StackTrace}"
#endif
                                                   );
                    SettingsHelper.logManager.GetLogger("UnhandledException").Error($"\n{e.Exception.Message}\n{e.Exception.HResult}\n{e.Exception.StackTrace}");
                }
            }
        }
Beispiel #2
0
        private void SynchronizationContext_UnhandledException(object sender, AysncUnhandledExceptionEventArgs e)
        {
            e.Handled = true;
            if (!(e.Exception is TaskCanceledException) && !(e.Exception is OperationCanceledException))
            {
                var loader = Windows.UI.Core.CoreWindow.GetForCurrentThread() == null ? null : ResourceLoader.GetForCurrentView();
                var s      = "ExceptionThrown";
                var s2     = "NetworkError";
                if (e.Exception.HResult <= -2147012721 && e.Exception.HResult >= -2147012895)
                {
                    UIHelper.ShowMessage($"{loader?.GetString(s2) ?? s2}(0x{Convert.ToString(e.Exception.HResult, 16)})");
                }
                else if (e.Exception.Message.IndexOf("Coolapk message:") == 0)
                {
                    UIHelper.ShowMessage(e.Exception.Message.Split('\n')[1]);
                }
                else
                {
                    UIHelper.ShowMessage($"{loader?.GetString(s) ?? s}\n{e.Exception.Message}\n{e.Exception.HResult}(0x{Convert.ToString(e.Exception.HResult, 16)})"
#if DEBUG
                                         + $"\n{e.Exception.StackTrace}"
#endif
                                         );
                    SettingsHelper.logManager.GetLogger("UnhandledException").Error($"\n{e.Exception.Message}\n{e.Exception.HResult}\n{e.Exception.StackTrace}");
                }
            }
        }
Beispiel #3
0
        private async void SynchronizationContext_UnhandledException(object sender, AysncUnhandledExceptionEventArgs e)
        {
            e.Handled = true;
            if (!(e.Exception is TaskCanceledException) && !(e.Exception is OperationCanceledException))
            {
                if (Window.Current?.Content != null)
                {
                    if (e.Exception.HResult <= -2147012721 && e.Exception.HResult >= -2147012895)
                    {
                        UIHelper.ShowMessage($"网络异常(0x{Convert.ToString(e.Exception.HResult, 16)})");
                    }
                    else if (e.Exception.GetType() == typeof(Helpers.Exceptions.ServerException))
                    {
                        UIHelper.ShowMessage(e.Exception.Message);
                    }
                    else
                    {
                        await new MessageDialog($"{e.Exception.Message}\n{e.Exception.HResult}(0x{Convert.ToString(e.Exception.HResult, 16)})"
#if DEBUG
                                                + $"\n{e.Exception.StackTrace}"
#endif
                                                , "程序出现了错误……").ShowAsync();
                    }
                    UIHelper.HideProgressBar();
                }
            }
        }
 private void SynchronizationContext_UnhandledException(object sender, AysncUnhandledExceptionEventArgs e)
 {
     e.Handled = true;
     try
     {
         LogHelper.Log("程序运行出现错误", LogType.ERROR, e.Exception);
         Utils.ShowMessageToast("程序出现一个错误,已记录");
     }
     catch (Exception)
     {
     }
 }
Beispiel #5
0
 private async void SynchronizationContext_UnhandledException(object sender, AysncUnhandledExceptionEventArgs e)
 {
     e.Handled = true;
     if (!(e.Exception is TaskCanceledException) && !(e.Exception is OperationCanceledException))
     {
         if (Window.Current.Content != null)
         {
             await new MessageDialog($"{e.Exception.Message}\n{e.Exception.StackTrace}").ShowAsync();
             Tools.HideProgressBar();
         }
     }
 }
Beispiel #6
0
        private void SynchronizationContext_UnhandledException(object sender, AysncUnhandledExceptionEventArgs e)
        {
            e.Handled = true;
            try
            {
                LogHelper.WriteLog(e.Exception);
                Utils.ShowMessageToast("程序出现一个错误,已记录");
                MessageCenter.SendShowError(e.Exception);
            }
            catch (Exception)
            {
            }

            //await new MessageDialog("出现了一个错误:\r\n" + e.Exception.Message + "\r\n" + e.Exception.StackTrace).ShowAsync();
        }
Beispiel #7
0
        private async void SynchronizationContextUnhandledException(object sender, AysncUnhandledExceptionEventArgs e)
        {
            e.Handled = true;


            if (e.Exception.Message.Contains("404"))
            {
                await GalaSoft.MvvmLight.Threading.DispatcherHelper.RunAsync(async() => {
                    await new MessageDialog(App.Current.Resources["ErrorCode_404"].ToString()).ShowAsync();
                });
            }
            else if (e.Exception.Message.Contains("A task was canceled"))
            {
            }
            else
            {
                await GalaSoft.MvvmLight.Threading.DispatcherHelper.RunAsync(async() => {
                    await new MessageDialog("异步线程出错:\r\n" + e.Exception.Message).ShowAsync();
                });
            }
        }
Beispiel #8
0
 private async void SynchronizationContext_UnhandledException(object sender, AysncUnhandledExceptionEventArgs e)
 {
     e.Handled = true;
     await new MessageDialog($"SynchronizationContext Unhandled Exception:\n{e.Exception.Message}\n{e.Exception.StackTrace}").ShowAsync();
     Tools.rootPage.HideProgressBar();
 }