何时在 Java 中使用异常(示例)

2022-09-04 05:40:26

我知道这将是不好的做法,尽管我知道我无法解释为什么。

int [] intArr = ...
...
try{
   int i = 0;
   while(true){
      System.out.println(intArr[i++]);
   }
}catch(ArrayIndexOutOfBoundsException e){}

我认为你只应该对不应该发生的事情使用例外。我问这个问题是因为我认为我有时使用异常是错误的。如果您的编程正在运行标准情况,是否应该引发异常?

这似乎相关:在Java中防止异常与捕获异常


答案 1

你是对的:例外是针对,嗯,特殊情况。使用它们来控制正常的控制流不仅模糊了代码的意图(这足以使其失去资格),而且还要慢得多,因为抛出和捕获异常的成本很高。

标准习语(在 Java5 及更高版本中)使用 foreach 循环:

for (int i : intArr) {
  System.out.println(i);
}

答案 2

这是错误的,因为您知道循环最终会到达 的最后一个元素,所以这没有什么特别之处,您实际上期望这种行为。intArr


推荐