finally中的return会影响到本方法中抛出得异常,请看下面代码:
public class Test { public static void main(String[] args) { try { doMyTest(); }catch (Exception e){ System.out.println("main抓住了异常"); } } public static void doMyTest() throws Exception { try { System.out.println("doMyTest 1/0 .."); int a = 1/0; }finally { return ; } } }这里手动制造了一个异常,然后进入finally语句块,然后直接return到main方法了,异常也没抛入到main方法中。