【发布时间】:2013-05-12 01:16:44
【问题描述】:
我厌倦了在我的代码中添加看似无穷无尽的 if-else 语句,所以我想知道如果我只是在出现问题时捕获异常是否会更好。例如。而不是说:
public static boolean firstStringOfArrayIsTheSameAsTheWord(String word, String[] array) {
if(word != null) {
if(array.length > 0) {
return word.equalsIgnoreCase(array[0]);
}
}
return false;
}
我只要:
public static boolean firstStringOfArrayIsTheSameAsTheWord(String word, String[] array) {
try {
return word.equals(array[0]);
} catch(/*NullPointerException or an ArrayIndexOutOfBoundsException*/ Exception e) {
return false;
}
}
请注意,我确实知道我可以在 if 语句中使用多个参数,但我只是对在实践中更好用的方法以及原因感兴趣。
提前致谢!
【问题讨论】:
-
你很容易开始另一场宗教战争(除了最后一场仍在进行中)。但是另一种“骗子”的处理方法是将所有内容放在
do { ... } while(false)块中,然后使用break语句离开该块。 -
使此类方法更具可读性(不那么丑陋)的一种方法是一次执行一个
if,如果不满足您的条件,则立即返回。 如果您的方法足够简单,您就不应该遇到 if/else 阶梯看起来“无尽”的情况。 -
@jahroy 这似乎是一个很好的解决方案,非常感谢!我以后会用它。
标签: java exception if-statement try-catch