C# でカスタム例外を作成して使用する方法

C# は、さまざまな例外をキャッチして処理できる厳密に型指定された言語であり、プログラム内のエラーの発見に役立ちます。プログラム開発の過程で、特定のエラー条件を見つけて処理する必要がある場合は、カスタム例外を作成する必要があります。ここでは、C# でカスタム例外を作成して使用する方法を示します。

1. 例外とは何ですか?

例外とは、除算での0除算、ファイルが存在しない、メモリ不足など、プログラム実行中に発生するエラーや異常な状況のことです。例外が発生すると、プログラムは現在の操作の実行を停止し、例外オブジェクトをスローします。例外オブジェクトには、例外タイプ、エラー メッセージ、スタック トレースなどの例外条件に関する情報が含まれています。

C# の例外処理は、try、catch、finally、throw という 4 つのキーワードを中心に構築されています。

1) try - try ブロックは、特定の例外がアクティブ化されるコードのブロックを識別します。その後に 1 つ以上のキャプチャ ブロックが続きます。

2) catch - プログラムは例外ハンドラーを使用して、問題が処理されるプログラム内のポイントで例外をキャッチします。catch キーワードは、発生した例外をキャッチします。

3)finally -finally ブロックは、例外がスローされるかどうかに関係なく、指定された一連のステートメントを実行するために使用されます。たとえば、ファイルを開いた場合は、例外がスローされるかどうかに関係なく、そのファイルを閉じる必要があります。

4) throw - 何か問題が発生すると、プログラムは例外をスローします。これは throw キーワードを使用して行われます。

2. C# のカスタム例外

次に、C# 例外クラスの作成方法を見てみましょう。C# では、カスタム例外の作成は非常に簡単です。クラスを作成し、それを System.Exception クラスまたはそのサブクラスから派生するだけです。たとえば、次のコードは CustomException という名前のカスタム例外クラスを作成します。

//创建一个没有错误消息的异常对象
public class CustomException : Exception
{
    public CustomException() { }
    //创建一个包含错误消息的异常对象。
    public CustomException(string message)
        : base(message){throw new Exception(message);}
    //创建一个包含错误消息和内部异常对象的异常对象。
    public CustomException(string message, Exception innerException)
        : base(message, innerException) { }
}

 

このようなカスタム例外が作成されます。

カスタム例外クラスを使用する

カスタム例外の使用は、組み込み例外クラスの使用と同じです。プログラム内で例外オブジェクトをスローし、try-catch ブロックを使用して例外をキャッチするだけです。コードは以下のように表示されます:

try
{
    //如果是k引发d二异常会报错系统异常
    //int i=0; int j=1;
    //int k=i/j;
    // 某些操作 下面会报自定义异常
    throw new CustomException("发生了自定义异常");
}
catch (CustomException ex)
{
    Console.WriteLine("自定义异常:"+ex.Message);
}
catch (Exception ex)
{
    Console.WriteLine("系统异常:"+ex.Message);
}

 上記のコードを 0 で割ると、システム例外が報告され、カスタム例外がトリガーされると報告されます。

3. カスタム例外の使用シナリオ

上記はカスタム例外クラスを実装していますが、カスタム例外クラスは通常どのようなシナリオで使用されますか?

1) ビジネスルールの検出

ビジネス ルールをチェックする必要がある場合は、カスタム例外クラスを作成できます。たとえば、ユーザーが既に存在するアカウントを作成しようとすると、DuplicateAccountException というカスタム例外をスローできます。

2) デバッグが簡単

カスタム例外クラスを使用すると、コードをより適切にデバッグできます。カスタム例外をスローすると、エラー メッセージ、エラー コード、スタック トレースなど、より有用な情報を呼び出し元に渡すことができます。この情報は、発信者が問題を迅速に特定して修正するのに役立ちます。

要約する

カスタム例外は、特定のエラー状態を処理する優れた方法です。カスタム例外クラスを作成すると、プログラムの動作をより適切に制御し、有用なエラー メッセージを提供できます。

 

おすすめ

転載: blog.csdn.net/lwf3115841/article/details/130643671