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

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于返回值

finally ?里面的return 語句和主函數里面的語句沖突嗎?

正在回答

3 回答

①如果finally{}塊中有return語句,只執行finally{}塊中的return語句

②如果finally{}塊中沒有return語句,如果try{}有異常,則返回catch{}中的return語句,不然執行try{}中return語句在這種情況下,return語句塊是在finally{}之后執行


1 回復 有任何疑惑可以回復我~

當finall塊中包含return語句時,Eclipse會給出警告“finally block does not complete normally”,原因分析如下:

1、不管try塊、catch塊中是否有return語句,finally塊都會執行。
2、finally塊中的return語句會覆蓋前面的return語句(try塊、catch塊中的return語句),所以如果finally塊中有return語句,Eclipse編譯器會報警告“finally block does not complete normally”。

3、如果finally塊中包含了return語句,即使前面的catch塊重新拋出了異常,則調用該方法的語句也不會獲得catch塊重新拋出的異常,而是會得到finally塊的返回值,并且不會捕獲異常。

?

結論,應避免在finally塊中包含return語句。如果你在前面的語句中包含了return語句或重新拋出了異常,又在finally塊中包含了return語句,說明你概念混淆,沒有理解finally塊的意義。

http://blog.csdn.net/chh_jiang/article/details/4557461

0 回復 有任何疑惑可以回復我~

不沖突,就算try里面有return,還是會執行finally

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409766    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

關于返回值

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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