这个问题与Java中的finally
块有关。这里的“其余代码”不是打印,而是在finally
块之后。
但是当没有异常时,它会打印finally
块之后的任何内容。
class TestFinallyBlock1 {
public static void main(String args[]) {
try {
int data=25/0;
System.out.println(data);
}
catch(NullPointerException e) {
System.out.println(e);
}
finally {
System.out.println("finally block is always executed");
}
System.out.println("rest of the code...");
}
}
答案 0 :(得分:5)
因为你没有捕获java.lang.ArithmeticException而且代码在那时终止。
试试这个:
class TestFinallyBlock1 {
public static void main(String args[]) {
try {
int data = 25 / 0;
System.out.println(data);
} catch (Exception e) {
System.out.println(e);
} finally {
System.out.println("finally block is always executed");
}
System.out.println("rest of the code...");
}
}