finally中的return语句会导致异常被压制
public static void main(String[] args) {
foo();
}
public static void foo() {
try {
throw new RuntimeException();
} finally {
return;
}
}
以上代码执行不会有任何异常抛出,如果把finally中的return注释掉,则会抛出如下异常:
Exception in thread "main" java.lang.RuntimeException:
at Test.foo(Test.java:9)
at Test.main(Test.java:4)