2

エラー処理を渡すために、コードで例外を使用することにしました。新しい例外を作成するたびに、コードを複製していることに気づきました。これらのクラスは特別なものではなく、メッセージのみが含まれていました。しかし、私はそれらを渡すときに型安全性に依存するようになりました。コンストラクターを再実装せずに新しい例外クラスタイプを提供する方法はありますか?

[Serializable]
class MyNewException : MyBaseException
{
    public MyNewException (String tMsg)
        : base(tMsg)
    {
    }

    public MyNewException (String tMsg, Exception tInnerEx)
        : base(tMsg, tInnerEx)
    {
    }
}

上記のコードは、定義したい例外の種類ごとに何度も複製されます。

4

1 に答える 1

1

残念ながら、いいえ、コンストラクターは継承されないため、提供する必要があります。

さらに、これらの特定の例外をキャッチし、それらが発生したときに明示的な処理を実行しない限り、必要になる可能性のある追加情報を含む一般的な例外を作成することをお勧めします。ただし、これはあなたの場合には当てはまらないかもしれません。

于 2011-11-28T02:16:37.323 に答える