问题:
public void test() {
try { oneMethod();
System.out.println("condition 1");
}
catch (ArrayIndexOutOfBoundsException e) {
System.out.println("condition 2");
}
catch(Exception e) {
System.out.println("condition 3");
}
finally {
System.out.println("finally");
}
}
Which will display if oneMethod run normally?()
A . condition 1
B . condition 2
C . condition 3
D . finally
public void test() {
try { oneMethod();
System.out.println("condition 1");
}
catch (ArrayIndexOutOfBoundsException e) {
System.out.println("condition 2");
}
catch(Exception e) {
System.out.println("condition 3");
}
finally {
System.out.println("finally");
}
}
Which will display if oneMethod run normally?()
● 参考解析
如果try块中的语句在执行时发生异常,则执行从该处中断而进入catch块,根据异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是catch中指定的异常的子类就匹配成功进而执行相应的catch中的内容,而finally块中的内容无论是否发生异常都将被执行。
相关内容
相关标签