1. ホーム
  2. c#

C#でカスタム例外を実装するための業界標準のベストプラクティスは何ですか?

2023-10-04 19:23:17

質問

C#でカスタム例外を実装するための業界標準のベストプラクティスは何ですか?

Googleで調べたところ、非常に多くの推奨事項がありましたが、どれがより信頼できるものなのかわかりません。

どなたか、権威ある記事へのリンクをお持ちでしたら、それも参考にさせていただきます。

どのように解決するのですか?

カスタム例外を作成する際の標準的な方法は 例外 . その後、独自のプロパティ/メソッドやオーバーロードされたコンストラクタを導入することができます(該当する場合)。

以下は、カスタムの基本的な例です。 ConnectionFailedException で、例外の種類に応じた追加のパラメータを受け取ります。

[Serializable]
public class ConnectionFailedException : Exception
{
    public ConnectionFailedException(string message, string connectionString)
        : base(message)
    {
        ConnectionString = connectionString;
    }

    public string ConnectionString { get; private set; }
}

アプリケーションでは、これはアプリケーションがデータベースに接続しようとするシナリオで使用されます。

try
{
    ConnectToDb(AConnString);
}
catch (Exception ex)
{
    throw new ConnectionFailedException(ex.Message, AConnString);
}

を処理するのはあなた次第です。 ConnectionFailedException をより高いレベルで処理します(該当する場合)。

また、以下をご覧ください。 カスタム例外の設計 カスタム例外