如下: 1、无返回值函数,如果没有 catch 异常,finally 代码块会执行,再抛出异常 2、有返回值函数,如果在 finally 里面有返回值,[无论有没catch异常],都会正常返回,不抛异常 3、有返回值函数,如果在 finally 里面无返回值,且没有 catch 异常,则先执行 finally,再抛出异常