2

C# コードで記述されたコンソール アプリケーションがあります。Hello Worldの例と同じように、これが最も単純なアプリケーションであると仮定しましょう。

class Program
{
    static void Main(string[] args)
    {
        AppDomain.CurrentDomain.UnhandledException += 
              CurrentDomain_UnhandledException;
        int zero = 0;
        int i = 10 / zero;
    }

    static void CurrentDomain_UnhandledException(
                  object sender, UnhandledExceptionEventArgs e)
    {
        Console.WriteLine("exception");
    }
}

DevideByZeroただし、グローバル例外ハンドラーで例外をハンドラーしたいのですが、アプリケーションを終了する必要はありませんEnvironment.Exit()

それはまったく可能ですか?どのように?

ノート:

これらの質問はすでに見ましたが、すべて終了しています。例外が何度も発生します。

コンソール アプリケーションの .NET グローバル例外ハンドラ

C# でのグローバル例外処理 (コンソール アプリケーション)

4

3 に答える 3

1

try catch次のようなブロックを使用して解決できると思います:-

  try { 
     int zero = 0; 
     int i = 10 / zero; 
     } 
  catch (DivideByZeroException) 
   {
   }
于 2013-03-17T12:20:27.387 に答える
0

これを試してください(「Application.ThreadException」にもハンドラーを追加してください):

static void Main(string[] args)
{
    AppDomain.CurrentDomain.UnhandledException += 
          CurrentDomain_UnhandledException;

    Application.ThreadException +=
     new System.Threading.ThreadExceptionEventHandler(
                Application_ThreadException);

   Application.SetUnhandledExceptionMode(
     UnhandledExceptionMode.CatchException);

    int zero = 0;
    int i = 10 / zero;
}
于 2013-03-17T12:21:33.160 に答える