예제 #1
0
파일: App.xaml.cs 프로젝트: nyahaass/RINGS
        private void App_Exit(object sender, ExitEventArgs e)
        {
            try
            {
                // グローバルキーフックを解除する
                SharlayanController.UnsubscribeKeyHook();

                Config.Instance.Save();
                ChatOverlaysController.Instance.Stop();
            }
            finally
            {
                this.UnlockDuplicateStart();

                AppLogger.Write("RINGS End.");
                AppLogger.Flush();
            }
        }
예제 #2
0
파일: App.xaml.cs 프로젝트: nyahaass/RINGS
        private void App_DispatcherUnhandledException(
            object sender,
            DispatcherUnhandledExceptionEventArgs e)
        {
            try
            {
                // グローバルキーフックを解除する
                SharlayanController.UnsubscribeKeyHook();

                Config.Instance.Save();

                if (this.MainWindow != null)
                {
                    MessageBoxHelper.ShowDialogMessageWindow(
                        "RINGS - Fatal",
                        "予期しない例外を検知しました。アプリケーションを終了します。",
                        e.Exception);
                }
                else
                {
                    MessageBox.Show(
                        "予期しない例外を検知しました。アプリケーションを終了します。\n\n" +
                        e.Exception,
                        "RINGS - Fatal",
                        MessageBoxButton.OK,
                        MessageBoxImage.Error);
                }
            }
            finally
            {
                this.UnlockDuplicateStart();

                AppLogger.Fatal(
                    "Unhandled Exception. 予期しない例外を検知しました。",
                    e.Exception);

                AppLogger.Write("RINGS Abort.");
                AppLogger.Flush();
            }
        }