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

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

finally塊總是運行嗎?

finally塊總是運行嗎?

慕碼人8056858 2019-09-20 16:33:42
是否有任何條件最終可能無法在java中運行?謝謝。
查看完整描述

3 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

來自Sun教程


注意:如果在執行try或catch代碼時JVM退出,則finally塊可能無法執行。同樣,如果執行try或catch代碼的線程被中斷或終止,則即使應用程序作為一個整體繼續,finally塊也可能無法執行。


我不知道finally塊不會執行的任何其他方式......


查看完整回答
反對 回復 2019-09-20
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

System.exit關閉虛擬機。


終止當前運行的Java虛擬機。該參數用作狀態代碼; 按照慣例,非零狀態代碼表示異常終止。


此方法exit在類中調用該方法Runtime。此方法永遠不會正常返回。


    try {

        System.out.println("hello");

        System.exit(0);

    }

    finally {

        System.out.println("bye");

    } // try-finally

“bye”不會在上面的代碼中打印出來。


查看完整回答
反對 回復 2019-09-20
?
慕斯709654

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

只是為了擴展其他人所說的內容,任何不會導致JVM退出的事情都將導致finally塊。所以方法如下:


public static int Stupid() {

  try {

    return 0;

  }

  finally {

    return 1;

  }

}

會奇怪地編譯并返回1。


查看完整回答
反對 回復 2019-09-20
  • 3 回答
  • 0 關注
  • 437 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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