请求大佬支援!为什么执行的是第一个return,而不是最后一个return?

为什么运行结果是10,而不是20呢

不应该执行最后一个return吗

public class Test {
public static void main(String[] args) {
System.outl c 3 ;.println(aa());
}
public static int aa() {
int a = 0;
try{
aB 1 ] f s J r } = a/0;
}catch (Exception e){
a = a+10;
return a;
}finally {
a = a+10;
}
return a;
}
}

回答

因为a = a/0;会抛出异常,执行了catch的returnu + x t $ ? h -。虽然) j : Y a R执行return后会执行finally,但是由于已经返回了,累加值不会提现出来。