同様のことが以前に尋ねられたことは知っていますが、それはこの問題に関する私の疑問を取り除くものではありません.
すべてのページの 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) に達したとき。
- 等。;
それとも、このエラー処理の方法を制限するのが最善ですか? 理由と時期はわかっていますが、いつ多すぎるか、どこで線引きをしなければならないかはわかりません。
フォローアップの質問です。グループに参加できる人数に制限があります。この制限は、コードでいつこれを強制するのですか? ページのコード ビハインド クラスで? それとも、データベースに接続するときですか? または両方?