StackOverFlow 的新手,Java 的新手。在此之前一直在用 C 进行编程,并且正在尝试获得 Java 的基础。
只是对以下代码有点困惑:
public class Exercise5 {
private static int[] ia = new int[3];
static int x = 5;
public static void main(String[] args) {
while(true) {
try {
ia[x] = 1;
System.out.println(ia[x]);
break;
} catch(ArrayIndexOutOfBoundsException e) {
System.err.println(
"Caught ArrayIndexOutOfBoundsException");
e.printStackTrace();
x--;
} finally {
System.out.println("Are we done yet?");
}
}
System.out.println("Now, we're done.");
}
}
我仍在努力解决 try、catch 和 finally 块的问题。我不明白的是,在这段代码中,程序只运行到第一个发生非异常的实例发生,然后退出 while 循环。
我的理解是,while 循环将一直运行,直到内存不足,所以有人可以解释一下代码如何在第一个非异常实例上退出 while 循环。
谢谢!
马可