0

重複の可能性:
メッセージボックスが開いている間にwpfをシャットダウンする

私は現在このようなコードを持っていますが、問題は、MessageBox提供された でエラーを表示した後でもNLogアプリをシャットダウンしたいので、ユーザーは問題を解決できますが、メッセージで [OK] をクリックしてもアプリは続行します箱。

private void Load(string fileName)
    {
        try
        {
            var environments = GetEnvironments(fileName); 
        }
        catch (FileNotFoundException ex)
        {
            logger.Error(ex.StackTrace);
        }
        catch (Exception ex)
        {
            logger.Error(ex.StackTrace);
        }
    }
4

1 に答える 1

5

例外は処理されたので、バブルしません。

いくつかのオプションがあります。

  • ロギング後に例外を再スローし、例外をバブリングし続け(そして他の例外ハンドラーがないと仮定して)、未処理の例外でプロセスを中止させます。

    throw;
    
  • 明示的に使用してシャットダウンEnvironment.Exit

    Environment.Exit(-1);
    
  • 別のオプションはApplication.Shutdownです:

    Application.Current.Shutdown();
    

再スローすると、ユーザーにエラーが表示されます。他の2つのオプションはそうではありません。

于 2012-10-04T15:58:11.723 に答える