原文:java基礎面試題:try{}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執行,什么時候被執行,在return前還是后?

finally中也有return ,最終返回finally中的return 有人說return執行 次,finally在中間執行,可以這樣理解,可能也方便死記 但我覺得return就是在finally后執行的,在finally執行后把返回值返回給調用處,只是要注意返回的值不是最終的值,而是return將要把返回值返回卻因finally出現不能返回了而臨時保存的值。這里有一個打斷。 ...

2018-01-23 13:13 0 1356 推薦指數:

查看詳情

try {}一個 return 語句,那么緊跟在這try finally {}code 會不會被執行什么時候被執行,在 return 還是?

會在return中間執行try 中的 return 語句調用的函數先於 finally 中調用的函數執行,也就是說 return 語句執行finally 語句執行,但 return 並不是讓函數馬上返回,而是 return 語句執行,將把返回結果放置進函數棧中,此時函數並不是 ...

Wed Mar 08 19:37:00 CST 2017 0 5721
try{}一個return語句,那么緊跟在這tryfinally{}的代碼會不會被執行什么時候被執行,在return還是?

執行,在方法返回調用者執行。 注意:在finally中改變返回值的做法是不好的,因為如果存在finally代碼塊,try中的return語句不會立馬返回調用者,而是記錄下返回值待finally代碼塊執行完畢之后再向調用者返回其值,然后如果在finally中修改了返回值,就會返回修改 ...

Sat Apr 21 23:08:00 CST 2018 0 1228
try{}一個 return 語句,那么緊跟在這try finally {}code 會 不會被執行什么時候被執行,在 return 還是?

  這是一道面試題,首先finally{}里面的code肯定是會執行的,至於在return還是, 看答案說的是在return執行,我覺得不對,百度了一下,有說return的,有說return的,還有return中間執行的。遂做了一個小測試如下: static ...

Fri Mar 02 07:17:00 CST 2018 4 597
Try Catch FinallyFinally的代碼在什么時候被執行

近日執行一段陳舊的代碼,一個Batch執行EXE,每日無限循環。 唯一可以停掉該Batch的方法,就是直接將進程殺掉,或者在Batch的CMD窗口關掉X按鈕。 而后,進程中永遠都會增加一個Excel的執行進程。 必須手動關閉。 想來十分愚蠢,但細讀元代碼,發現在處理中有Try ...

Fri Sep 01 00:36:00 CST 2017 0 1903
python中tryreturn時,finally執行執行

一個函數,在try返回,最后在finnaly打印語句,代碼如下 執行結果如下圖所示: 由此可以看出,函數的執行順序就是按照 try - except - finally的順序執行, 也就是說,finally語句塊總是會被執行的,並且如果finally ...

Tue Dec 31 00:43:00 CST 2019 0 2212
tryfinally中都有return語句執行一個return

try 中的 return 語句調用的函數先於 finally 中調用的函數執行,也就是說 try 中的 return 語句執行finally 語句執行,但try中的 return 並不是讓函數馬上返回結果,而是 return 語句執行,將把返回結果放置進函數棧中,此時函數 ...

Tue Jan 08 01:51:00 CST 2019 0 1687
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM