c# 独自のエラーコードを持つ例外を作成したい

投稿者: Anonymous

タイトルの件、Exceptionを継承した独自の例外クラスを作成して、独自の例外をキャッチした側でエラーコードを取得したいです。

エラーコードは任意のコードとすることができることとします。

この場合どのような独自の例外クラスを作成すれば良いでしょうか?

自己レスです。こんな感じでしょうか?
public CustomException (string message, string errorCode) : base(message)
{
this.ErrorCode = errorCode;
}

解決

基本的には単にException型を継承すればよいです。エラーメッセージを変更したい場合はベースクラスの引数に渡します。

public class CustomException : Exception
{
    public CustomException(int errorCode)
    // : base(ここでエラーメッセージを指定します)
    {
        ErrorCode = errorCode;
    }

    public int ErrorCode { get; }
}

なお守らなくてもあまり害のないお約束としては引数が(string message, Exception innerException)(SerializationInfo, StreamingContext)のコンストラクターをそれぞれ用意するというものがありますが、これらは必要になったら実装すればよいと思います。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *