这个程序的输出是什么?( )
class exception_handling {
public static void main(String args[]) {
try {
System.out.print("Hello" + " " + 1 / 0);
} finally {
System.out.print("World");
}
}
}先输出World,然后抛出异常
World
编译错误
先抛出异常,然后输出World
1、不抛出异常,try里面的代码、finally里面的代码、finally以后的代码都将正常执行,而catch里面的代码不会执行。
2、抛出异常且被catch捕获,try里面的代码部分执行,catch里面的代码、finally里面的代码、finally以后的代码都将正常执行。
3、抛出异常,但未被catch捕获,抛出异常的语句将会报错,在try中的抛出异常的语句后的语句将不会执行,由于异常未被捕获,故catch语句不执行,但是finally仍然会执行,在finally后面的语句由于程序已经报错停止,故将不会执行
2、抛出异常且被catch捕获,try里面的代码部分执行,catch里面的代码、finally里面的代码、finally以后的代码都将正常执行。
3、抛出异常,但未被catch捕获,抛出异常的语句将会报错,在try中的抛出异常的语句后的语句将不会执行,由于异常未被捕获,故catch语句不执行,但是finally仍然会执行,在finally后面的语句由于程序已经报错停止,故将不会执行