A的代码:
public class ExceptionDemo {
public static void main(String[] args) {
System.out.println("开始");
method();
System.out.println("结束");
}
public static void method() {
try {
int[] arr = {1, 2, 3};
System.out.println(arr[3]);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println(e.getMessage());
}
}
}
B的代码:
A的输出结果:
开始
3
结束
B的输出结果:
开始
Index 3 out of bounds for length 3
结束
数组下表从0开始,int[] arr = {1, 2, 3} 长度3,可用范围是 0,1,2,只有 arr[0] / arr[1] / arr[2] 是合法的
这个应该是jdk版本的问题
什么叫A 的控制台 B 的控制台
输出不一致代码肯定不一致
你这里代码输出肯定是
开始
3
结束
想要b结果
输出语句改成 System.out.println(e);