課程
/后端開發
/Java
/Java入門第三季
在try catch中,try catch之后的代碼是一定要執行的,而try catch finally中,為什么要寫finally呢?直接將finally中的代碼寫在異常處理塊之后,不是一樣會執行嗎?
2017-01-16
源自:Java入門第三季 1-2
正在回答
因為在try塊中執行到a=5/0時就被catch塊捕獲,并沒有執行到return,程序一路執行下去感覺并沒有區別。假如你在catch塊中最后加入return,你會發現用finally的依舊執行,而直接寫的會報錯,提示無法執行。
通常情況下,一旦方法里執行到return語句的地方,程序立即結束該方法。因為finally塊總會被執行,不管try塊中是否出現異常,不管哪個catch塊被執行,也不管try和catch塊中執行了return語句。從而保證一定能回收try塊中打開的物理資源。
彼時年少0 提問者
如果沒有異常就不會執行catch塊的內容
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
3 回答異常處理的問題
3 回答異常處理問題
4 回答異常處理問題
3 回答關于ID輸入非整數異常處理問題
3 回答異常處理:
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-01-17
因為在try塊中執行到a=5/0時就被catch塊捕獲,并沒有執行到return,程序一路執行下去感覺并沒有區別。假如你在catch塊中最后加入return,你會發現用finally的依舊執行,而直接寫的會報錯,提示無法執行。
2017-01-16
通常情況下,一旦方法里執行到return語句的地方,程序立即結束該方法。因為finally塊總會被執行,不管try塊中是否出現異常,不管哪個catch塊被執行,也不管try和catch塊中執行了return語句。從而保證一定能回收try塊中打開的物理資源。
2017-01-16
如果沒有異常就不會執行catch塊的內容