Java異常發生時程序的執行順序

一些基礎知識:

1.try代碼段包含可能產生例外的代碼;
2.try代碼段後跟有一個或多個代碼段;
3.每個catch代碼段聲明其能處理的一種特定的異常並提供處理的方法;
4.當異常發生時,程序會終止當前的流程,根據獲取異常的類型去執行相應的catch代碼段,有多個符合條件的catch時,只執行第一個;
5.finally段的代碼無論是否發生異常都會執行。
6.在一個try語句塊中,基類異常的捕獲語句不可以寫在子類異常捕獲語句的上面。

 

看一個例子:

 

輸出的結果是2,3,4,5    (這裏的逗號只用於顯示)。上述語句非常清楚,但是在上述結構中加上return,就變得有些複雜了,如  

 

輸出的結果是2,4也就是說在try結構中,雖然使用了return語句強制函數返回,不再往下執行,但實現上finally中的還是執行了。但除了finally外的其它語句不再被執行。

一個更流行的例子是:

結果是:

如果在catch塊中拋出異常,則結果爲:

 

注意:如果異常往上拋直到main函數還沒有被catch處理的話,程序將被異常終止。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章