2

フラットファイルをSQLデータベースにインポートする前にデータチェックを行うスタンドアロンアプリケーションがあります。

このようなコンテキストでは、?をスローすることは意味がありSystem.Data.ConstraintExceptionますか?(例は考案されています。)

if(_keys.ContainsKey(key))
{
    throw new ConstraintException(string.Format("Uniqueness violated! " + 
        "This unique combination of '{0}' already found on line {1}", 
        GetUniquenessColumnList(), _keys[key] ));
}

ConstraintExceptionのドキュメントには、「制約に違反するアクションを試行したときにスローされる例外を表す」と記載されています。

組み込みの例外をこのように使用することに問題はありますか?使用するのに良いものはありますか?この例外は私の状況に合わせて調整されているように見えますが、自分で作成する必要がありますか?

4

2 に答える 2

3

あなたはあなた自身の質問に答えたと思います

...この例外は私の状況に合わせて作られているようですか?

なぜ車輪を再発明するのですか?

編集:

この MSDN の記事を参照してください:スローする適切な種類の例外の選択

カスタム例外タイプを作成する代わりに、System 名前空間に存在する既存の例外をスローすることを検討してください。

...

チームの例外を作成するためだけに、新しい例外を作成してスローしないでください。

于 2012-07-17T23:18:52.267 に答える
2

いいえ、そうしても問題ありません。適切な例外が既に存在する場合は、新しい例外を作成する必要はありません。

于 2012-07-17T23:14:33.500 に答える