我知道以前有人问过类似的问题,但这并不能消除我对此事的怀疑。
在我的所有页面 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) 时;
- ETC。;
还是最好限制这种错误处理方式?我知道为什么以及何时,但我不知道什么时候太多,或者你必须在哪里划清界限。
一个后续问题,我对一个组中的人数有限制,这个限制,我什么时候在我的代码中强制执行这个?在页面的类后面的代码中?或者当我连接到数据库时?或两者?