我应该在课堂上包装我的班级自定义异常吗?

时间:2014-09-03 11:32:53

标签: c# coding-style

如果我有一个只与一个类有关的异常,哪种风格最好?

当我把它包装在我的班级时:

class Class {
  //some stuff
  throw MyException();

  class MyException : Exception
  {
    //some stuff
  }
}

或将其留在课堂之外

class Class {
  //some stuff
  throw MyException();
}
class MyException : Exception
  {
    //some stuff
  }

使用一种或另一种解决方案有进展吗?这有什么编码标准吗?

1 个答案:

答案 0 :(得分:4)

  

哪种风格最好?

这是设计问题(更进一步)。

  

这有什么编码标准吗?

本书"用C#编程 - 考试参考文献70-483"说那个

  

最好使用.NET Framework中定义的异常[除非有]开发人员使用您的代码[知道]知道这些异常,并且能够以比框架异常更具体的方式处理它们/ p>

问问自己是否有任何其他异常可能代表您想表示的异常,以及提取有关异常情况的信息所需的数据。

  

使用一种或另一种解决方案有进展吗?

第一个设计说该类将处理异常,因为它是一个代理,外部代码不知道发生了什么,但可能只会知道不同的输出依赖于抛出异常。 只有类,它的子类(受保护的)和它的" simblings" (内部)可以使用它。

第二个说世界将能够理解出了什么问题并对此采取了一些措施;其他类将改变自己的流程来处理错误。