0

同様のことが以前に尋ねられたことは知っていますが、それはこの問題に関する私の疑問を取り除くものではありません.

すべてのページの Page_Load メソッドと、データベースに接続するメソッドを呼び出す他のすべてのメソッドについて、コードを try catch ステートメント内に配置します。

try {
    //Some code

}
//When something goes wrong, catch the exception and translate it into understandable language for the end user.
catch (LaboratoryException ex) {
    switch (ex.Code) {
        case LaboratoryExceptionCode.GROUP_NOTFOUND: ErrorMessage.Text += "<p class='error'>You didn't enter the correct parameters."; break;
        default: ErrorMessage.Text += "<p class='error'>An unknown error occurred"; break;
    }
    switch (ex.Fault) {
        case LaboratoryExceptionFault.FAULT_CONSUMER: ErrorMessage.Text += " - We think you should check your entered parameters.</p>"; break;
        case LaboratoryExceptionFault.FAULT_SERVER: ErrorMessage.Text += " - Oops, our bad.</p>"; break;
        default: break;
    }
}

エラーの種類ごとにカスタム例外を使用するのは賢明ですか?

  • データベースにグループが見つからない場合 (上記のコードのように);
  • グループが存在する場合。
  • グループを更新できない場合。
  • グループがメンバーの最大数 (5) に達したとき。
  • 等。;

それとも、このエラー処理の方法を制限するのが最善ですか? 理由と時期はわかっていますが、いつ多すぎるか、どこで線引きをしなければならないかはわかりません。

フォローアップの質問です。グループに参加できる人数に制限があります。この制限は、コードでいつこれを強制するのですか? ページのコード ビハインド クラスで? それとも、データベースに接続するときですか? または両方?

4

1 に答える 1

0

数か月後、私はより賢くなり、この主題をもう一度調べた後、次の答えが私が同意するものであると推測しました。

https://stackoverflow.com/a/3443605/1055690

于 2012-12-31T10:51:52.207 に答える