1.任何执行try 或者catch中的return语句之前,都会先执行finally语句,如果finally存在的话。
2.如果finally中有return语句,那么程序就return了,所以finally中的return是一定会被return的,编译器把finally中的return实现为一个warning。return与finally并没有明显的谁强谁弱。在执行时,是return语句先把返回值写入栈内存中,然后停下来等待finally语句块执行完,return再执行后面的一段。
关于finally和catch的顺序问题
![](https://img-home.csdnimg.cn/images/20240711042549.png)