我主要是想问有关Java的问题,但我想它适用于各种语言。
考虑,
if(myVariable==null){
doSomethingAboutIt();
}
else carryOn(myVariable);
和
try{
carryOn(MyVariable);
}
catch(NullPointerException e ){
doSOmethingAboutIt();
}
这两个代码块基本相同吗?是否有任何理由选择第二种方法?当然,如果myVariable永远不为null会更好,但是似乎最好的检查方法是执行简单的if语句。
从我的立场来看,我不愿考虑这两个代码块的意图。当然,他们会经历相同的错误处理,但这是开发人员的决定,而不是其他任何事情。
对我来说,if
正在测试以查看是否可以使用一个值,如果不能使用,则可以解决该问题。该try...catch
块假定该值是有效的,如果无效,则它会变通以解决异常行为。
当出现异常,程序中断代码(除以零等)时,应首先考虑异常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句