在我的代码中,我有类似的东西
// 1st method
if (a == null) {
return false;
}
if (a.getB() == null {
return false;
}
if (a.getB().getC() == null {
reutrn false;
}
return a.getB.getC().isFoo();
这很清楚,但非常罗嗦。与此同时,这样的事情不那么冗长,但也许不那么清楚,因为它以非传统的方式使用了try-catch。
// 2nd method
try {
return a.getB().getC().isFoo();
} catch(NullPointerException e) {
return false;
}
有没有理由不使用第二种方法,这是一种不好的做法吗?顺便说一句,是否有任何理由应该使用或优先于另一种?