先上代碼:
由以上的代碼咱們能夠知道在拋出異常以後的代碼都會被編譯器視做無用的代碼,進一步會顯示的報錯。所以更談不上以後的代碼能夠執行了。
進一步修改以後,咱們採用如下的代碼進行測試
能夠得出如下的結果:
從結果中咱們能夠看出,當主程序(main)捕獲到異常以後,會進一步進行處理,隨之處理完以後會進一步執行以後的代碼。java
接下來咱們看另外一種狀況:
咱們將對第一種的異常放在其餘的類方法種進行捕獲,咱們從上圖能夠看出throw new Exception("第二種異常哈")以後的代碼仍然視爲無用。接着咱們在主程序(在另外一個類中)進行調用當前的方法並對其進行捕獲。
運行程序得出如下的結果:
咱們能夠看出在第一種異常捕獲以後並拋出第二種異常時,並不會去執行其後的代碼,finally裏面的代碼除外。測試
由此,就最開始的問題以及以後的分析,咱們能夠得出如下的結論:spa
以上都針對於檢查型異常而言的。作用域