使用try-catch来避免冗长的空值检查?

时间:2015-01-14 20:14:14

标签: java

在我的代码中,我有类似的东西

// 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;
}

有没有理由不使用第二种方法,这是一种不好的做法吗?顺便说一句,是否有任何理由应该使用或优先于另一种?

0 个答案:

没有答案