C# で複数の例外をキャッチする

Muhammad Maisam Abbas 2023年10月12日
  1. C# の Exception クラスで複数の例外をキャッチする
  2. C# の if ステートメントで複数の例外をキャッチする
C# で複数の例外をキャッチする

このチュートリアルでは、C# で複数の例外をキャッチする方法について説明します。

C# の Exception クラスで複数の例外をキャッチする

Exception クラスは、C# の一般的な例外を表すために使用されます。try...catch 句内の Exception クラスを使用して、コードによってスローされたあらゆるタイプの例外をキャッチできます。次のサンプルコードを参照してください。

using System;

namespace convert_int_to_bool {
  class Program {
    static void Main(string[] args) {
      try {
        int i = 1;
        bool b = Convert.ToBoolean(i);
        Console.WriteLine(b);
      } catch (Exception e) {
        Console.WriteLine("An Exception Occured");
      }
    }
  }
}

出力:

True

上記のコードでは、C# の Exception クラスを使用して、コードによってスローされたあらゆるタイプの例外をキャッチします。このアプローチでは、問題とそのトラブルシューティング方法に関する十分な情報が得られないため、通常はお勧めしません。この一般的な例外タイプではなく、特定の例外タイプを常に優先する必要があります。

C# の if ステートメントで複数の例外をキャッチする

特定の例外を使用するには、catch 句の形式で多くのコードを記述する必要があります。if ステートメントを使用して、C# の 1つの catch 句で複数のタイプの例外をキャッチできます。次のサンプルコードを参照してください。

using System;

namespace convert_int_to_bool {
  class Program {
    static void Main(string[] args) {
      try {
        int i = 1;
        bool b = Convert.ToBoolean(i);
        Console.WriteLine(b);
      } catch (Exception e) {
        if (ex is FormatException || ex is OverflowException) {
          Console.WriteLine("Format or Overflow Exception occured");
        }
      }
    }
  }
}

出力:

True

上記のコードでは、C# の if ステートメントを使用して、1つの catch 句で FormatExceptionOverflowException の両方の例外をキャッチします。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp Exception