finally這樣寫會吞掉異常?

在finally中寫return語句最終會造成吞掉異常的後果 從JVM指令層面來看 可以看到 如果從 0 到 9 (不包含9) 出現了任何異常都會跳轉到 8的位置 而接下來所做的,僅僅只把異常對象存儲到了局部變量表中的0號位置,接着把30放入棧頂就返回了 期間丟失了 athrow指令,所以不會有任何異常堆棧的顯示,所以在開發中最好不要在finally 中寫return語句,否則會吞噬異常
相關文章
相關標籤/搜索