【问题标题】:Custom exception handling and usage for laboratory web site实验室网站的自定义异常处理和使用
【发布时间】:2012-05-23 10:16:44
【问题描述】:

我知道以前有人问过类似的问题,但这并不能消除我对此事的怀疑。

围绕我的所有页面 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) 时;
  • 等;

或者最好限制这种错误处理方式? 我知道为什么以及何时,但我不知道什么时候太多,或者你必须在哪里划清界限。

一个后续问题,我对一个组中的人数有限制,这个限制,我什么时候在我的代码中强制执行这个?在页面的类后面的代码中?或者当我连接到数据库时?还是两者兼有?

【问题讨论】:

    标签: c# custom-exceptions


    【解决方案1】:

    几个月后我变得更聪明了,在再次查找这个主题后,我推断出以下答案是我同意的:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-11
      • 2015-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多