private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) { // システムエラーダイアログ表示 var f = new SystemErrorDialog(e.Exception); f.ShowDialog(); System.Windows.Forms.Application.Exit(); }
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { var ex = (Exception)e.ExceptionObject; // システムエラーダイアログ表示 var f = new SystemErrorDialog(ex); f.ShowDialog(); System.Windows.Forms.Application.Exit(); }
/// <summary> /// 指定された処理を実行。例外が発生した場合は例外ダイアログを表示し、処理を終了する /// </summary> public virtual T ExecuteInExceptionCatcher <T>(Func <T> act) { // デバッガがアタッチされていれば、例外ダイアログは表示しない if (Debugger.IsAttached) { return(act.Invoke()); } try { return(act.Invoke()); } catch (Exception ex) { var f2 = new SystemErrorDialog(ex); f2.ShowDialog(); Quit(); return(default(T)); } }
/// <summary> /// 指定された処理を実行。例外が発生した場合は例外ダイアログを表示し、処理を終了する /// </summary> public virtual void ExecuteInExceptionCatcher(Action act) { // デバッガがアタッチされていれば、例外ダイアログは表示しない if (Debugger.IsAttached) { act.Invoke(); return; } try { act.Invoke(); } catch (Exception ex) { var f2 = new SystemErrorDialog(ex); f2.ShowDialog(); Quit(); } }