finally这样写会吞掉异常?

finally这样写会吞掉异常?
在finally中写return语句最终会造成吞掉异常的后果

从JVM指令层面来看

finally这样写会吞掉异常?
可以看到 如果从 0 到 9 (不包含9) 出现了任何异常都会跳转到 8的位置

而接下来所做的,仅仅只把异常对象存储到了局部变量表中的0号位置,接着把30放入栈顶就返回了

期间丢失了 athrow指令,所以不会有任何异常堆栈的显示,所以在开发中最好不要在finally 中写return语句,否则会吞噬异常