終止與恢復
在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.