终止与恢复
在Java异常中 有两种机制
一种是终止模型 一种是恢复模型
用while循环建立 恢复模型 不断重复 直到不再出现异常
public class Ex5 {
private static int[] ia = new int[2];
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.");
}
}
Caught ArrayIndexOutOfBoundsException
Are we done yet?
Are we done yet?
java.lang.ArrayIndexOutOfBoundsException: 5
at my.test.Ex5.main(Ex5.java:9)
Caught ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException: 4
at my.test.Ex5.main(Ex5.java:9)
Caught ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException: 3
at my.test.Ex5.main(Ex5.java:9)
Are we done yet?
Caught ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException: 2
at my.test.Ex5.main(Ex5.java:9)
Are we done yet?
1
Are we done yet?
Now, we're done.