如果您有一个由一堆其他对象组成的对象,即:
class A{
B b {get;}
C c {get;}
private A(){
b = B.Make();
c = C.Make();
}
}
并且将类
B
和C
设置为在引发异常时返回null,是否有比批量检查A
成员中的null是否使null失效更好的方法呢?诚然,我对异常管理的理解很差,但是
B
和C
不处理自己的异常,而是让它们冒泡为A
,从而规避整个无效的失败是有意义的。但是,如果它们是使用独立于A
的类怎么办? 最佳答案
通常应避免完全返回null,Make()函数应引发异常。如果它们的异常级别太低,则应将其包装或用自定义异常替换。
现在,调用方(A)可以将Make()调用放在try-catch块中,以由他自己再次替换异常,但是他不必这样做,并且您也不必进行空检查。
关于c# - 由其他对象组成的对象在C#中失败的一种绝妙方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31498564/