亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

異常檢查不寫finally而是寫在catch 后可否?

異常檢查不寫finally而是寫在catch 后可否?

qq_殺意隆_0 2018-04-08 11:13:11
try{ }catch(Exception?e){ }finally{ ????//finally相關處理語句 }try{ }catch(Exception?e){ } //finally相關處理語句以上兩種方式有何不同?
查看完整描述

5 回答

已采納
?
風月理不平我

TA貢獻5條經驗 獲得超1個贊

finally是一定執行的,一半用來關閉資源,即使你catch里面截斷了代碼也不影響finally執行

查看完整回答
反對 回復 2018-04-08
?
qq_殺意隆_0

TA貢獻93條經驗 獲得超29個贊

來自知乎: finally塊是保證肯定會被執行,哪怕你在try塊或者catch塊了寫了return。

查看完整回答
1 反對 回復 2018-04-08
?
yanrun

TA貢獻317條經驗 獲得超240個贊

finally通常用于釋放資源,比如你在try中連接了數據庫,但是出錯拋異常了,如果是第一種的話,可以把關閉數據庫連接的語句寫在finally中,因為finally一定會執行所以可以保證數據庫的連接會被關閉,而第二種則不能保證數據庫連接會被關閉

查看完整回答
1 反對 回復 2018-04-08
  • qq_殺意隆_0
    qq_殺意隆_0
    為什么第二種則不能保證數據庫連接會被關閉? catch語句塊執行完之后不就繼續執行下面的語句嗎?
  • yanrun
    yanrun
    因為不在finally里關閉的話還需要在try-catch之外再判斷數據庫連接是否關閉,而此時或者在此之前都有可能發生異常
  • 5 回答
  • 0 關注
  • 2559 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號