我应该在类中包装类自定义异常吗
本文关键字:自定义异常 包装类 我应该 | 更新日期: 2023-09-27 18:20:33
如果我有一个只与一个类相关的异常,那么哪种样式是最好的?
当我在课堂上这样包装它时:
class Class {
//some stuff
throw MyException();
class MyException : Exception
{
//some stuff
}
}
或者把它放在类之外
class Class {
//some stuff
throw MyException();
}
class MyException : Exception
{
//some stuff
}
使用其中一种或另一种解决方案有任何进展吗?这有什么编码标准吗?
哪种款式最好?
这是一个设计问题(更进一步)。
这有什么编码标准吗?
《C#编程-考试参考70-483》一书说
最好使用.NET Framework中定义的异常[除非有]开发人员使用您的代码[他们]知道这些异常,并且可以以比框架异常更具体的方式处理它们
问问自己,是否没有任何其他异常可以代表您想要代表的异常,以及需要哪些数据来提取有关异常发生情况的信息。
使用其中一种或另一种解决方案有任何进展吗?
第一个设计说,类将像处理代理一样处理异常,外部代码不知道发生了什么,但可能只知道不同的输出,这取决于是否抛出异常。只有类、它的子类(受保护)和它的"simblings"(内部)可以与它一起工作
第二种说法是,世界将能够理解出了什么问题,并对此采取行动;其他类将更改自己的流来处理错误。