Exception 异常和有效性检查相关性

Exception 异常和有效性检查相关性,exception,exception-handling,nullreferenceexception,Exception,Exception Handling,Nullreferenceexception,在我的新工作中,我一直在和一位同事编程,我看着他编写一种新方法。 此方法收到一个对象,但他没有检查参数的有效性!=空等。 当我问他为什么他回答说,它的目的是——如果出于某种不好的原因,存在一个空的对象参数,它不应该存在,我希望它失败得很惨,而不是接受错误 你同意这一点吗?我应该什么时候做有效性检查?我应该和他们一起走多深?我的意思是,我可以想到对大多数函数进行数百万次有效性检查,而不仅仅是空指针有效性检查。问题是,生成的异常将是迟钝的,并且在不深入代码的情况下很难调试 或者,您可以检查案例,并提

在我的新工作中,我一直在和一位同事编程,我看着他编写一种新方法。 此方法收到一个对象,但他没有检查参数的有效性!=空等。 当我问他为什么他回答说,它的目的是——如果出于某种不好的原因,存在一个空的对象参数,它不应该存在,我希望它失败得很惨,而不是接受错误


你同意这一点吗?我应该什么时候做有效性检查?我应该和他们一起走多深?我的意思是,我可以想到对大多数函数进行数百万次有效性检查,而不仅仅是空指针有效性检查。

问题是,生成的异常将是迟钝的,并且在不深入代码的情况下很难调试

或者,您可以检查案例,并提供一条很好的异常消息

给定以下方法签名:

public void DoStuff(MyObj obj);
DoStuff需要一个MyObj实例才能运行

比你想象的要好得多


对象引用未设置为对象的实例

在我看来,它取决于该方法的用途。对于我来说,内部子例程非常脆弱,很容易中断,然后将错误处理留给调用代码;从外部可见的例程更健壮,可以执行所有参数检查。