今天看一個Java SSH的面試題,題目大概意思是:try、catch中存在return語句,還會執行finally塊嗎?如果執行,是return先執行還是finally先執行?如果有多個return語句,結果如何? 看了以后我還真犯嘀咕,做了軟件開發這些年,還沒認真思考 ...
大家好,今天我們來講一個筆試和面試偶爾都會問到的問題,並且在工作中不知道原理,也會造成濫用。 大家可能都知道,try 塊用來捕獲異常,catch塊是處理try塊捕獲的異常,finally 塊是用來關閉資源。一個try塊后面可以跟多個catch塊,如果后面一個catch塊也不跟,就一定要跟一個finally 塊。 結論 :當在try塊遇到return語句時,finally語句塊將在方法返回之前被執行 ...
2019-04-18 09:57 6 331 推薦指數:
今天看一個Java SSH的面試題,題目大概意思是:try、catch中存在return語句,還會執行finally塊嗎?如果執行,是return先執行還是finally先執行?如果有多個return語句,結果如何? 看了以后我還真犯嘀咕,做了軟件開發這些年,還沒認真思考 ...
假設代碼順序書寫如下:try → catch → finally → 其他代碼 則: 1、正常執行順序:try → catch → finally → 其他代碼 2、try,catch和finally和其他代碼的執行條件 ...
Try-Catch-Finally語句塊執行問題 記錄一個今天某公司的面試問題,其實我問題回答對了,但是面試官問我動手驗證過沒有,這還真沒有,純理論,被懟慘了,希望自己能變得更強大。 Try-Catch-Finally語句塊執行問題。 一起來看下面這串代碼: 程序運行 ...
異常處理中,try、catch、finally的執行順序,大家都知道是按順序執行的。即,如果try中沒有異常,則順序為try→finally,如果try中有異常,則順序為try→catch→finally。但是當try、catch、finally中加入return之后,就會有幾種不同的情況出現 ...
try..catch..finally這個語法大家都很熟悉,就是捕捉異常、處理異常,面試中經常被問到的一個問題是:如果在try...catch中的某某地方return了,那么之后的某某步驟還會不會執行。今天就來用代碼分析一下各種可能的執行情況,懶得看文章的話,直接看最后的總結,如果不明白再回 ...
如果try中沒有異常,則順序為try→finally,如果try中有異常,則順序為try→catch→finally,但是當try、catch、finally中加入return之后,就會有幾種不同的情況出現: 一:try中帶有return 1、基本類型的情況下 ...
答案是不一定。存在很多特殊情況導致finally語句塊不執行。如: 直接返回未執行到 finally 語句塊 拋出異常未執行到 finally 語句塊 系統退出未執行到 finally 語句塊 等... 代碼如下 來一道刷了進BAT的面試題? ...