If-Else语句与Exception-Catcher?

fel*_*itz 1 java if-statement exception try-catch

我厌倦了在我的代码中添加看似无穷无尽的if-else语句,所以我想知道如果我只是抓住异常,如果有些事情不对,那么更好的做法.例如.而不是说:

public static boolean firstStringOfArrayIsTheSameAsTheWord(String word, String[] array) {
    if(word != null) {
        if(array.length > 0) {
            return word.equalsIgnoreCase(array[0]);
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我只想:

public static boolean firstStringOfArrayIsTheSameAsTheWord(String word, String[] array) {
    try {
        return word.equals(array[0]);
    } catch(/*NullPointerException or an ArrayIndexOutOfBoundsException*/ Exception e) {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我确实知道我可以在if语句中使用多个参数,但我只是对在实践中使用哪种方法更好以及为什么感兴趣.

提前致谢!

0x6*_*C38 6

不,这不是一个好主意,那就是滥用异常处理.

您应该避免不必要的异常捕获,异常应仅用于出错的事情,因为它们不在您的控制范围内,而不是正常程序流程的一部分.另外,正如@ SJuan76所说,你将隐藏存在真正异常的情况.

如果您厌倦了使用if-else语句,可以尝试使用switch(甚至可以在Java 7中使用字符串)或改进应用程序中的多态性.