finally代碼塊的執行

try{
    //todo  
}catch(Exception e){
    //todo
}finally{
    //todo
}

1.無論try,catch裏面的代碼快有無return,finally都會執行spa

2.若是try,catch裏有return,finally也有return,最後以finally爲準code

3.若是try,catch裏return的一個基本類型的變量,在finally裏修改變量的值,返回結果不變,由於try,catch執行return時,返回的數據已經本壓入棧中了blog

4.若是try,catch裏return的一個複雜類型的變量,在finally裏修改變量的引用(重寫new一個賦值),返回結果不變,緣由同上io

5.若是try,catch裏return的一個複雜類型的變量,不修改修改變量的引用,在finally裏修改該類的屬性值(obj.code="change"),返回結果發生改變,由於壓入棧的是引用地址,直接修改引用地址裏的屬性,返回結果會跟隨變化class

相關文章
相關標籤/搜索