java捕獲到異常以後,後面的程式碼還會執行嗎?
阿新 • • 發佈:2018-12-17
轉自:http://zhidao.baidu.com/link?url=BgAg2K6tQumyPRJyjIWCGEQe-knlVG-N67MUp1QoZyvkzvb7qZ3QpLz101rtAOqk7E1OD1mUXzbEJYOtFziP8AAvu7eX2huTAqD1FtnpHBK
return會執行的。 try{}裡面包含可能會出錯的程式碼?如果裡面出錯了,他回交給catch{}處理,catch可能把這個錯誤給遮蔽掉(就比如說你牙疼不能吃飯,給給力來個止疼的,不影響你做其他的事情了)。。不影響你之後的程式碼執行。。但是如果你try{}裡面有多行程式碼第一行,第二行,第三行,如果第二行出錯了,第三行是不執行的。如果有finally{}這裡裡面程式碼是處理後事的。比如說,你try裡面有操作工作流的,那麼如果出錯了fianlly可以用力處理,關閉工作流物件,避免浪費資源。finally{}是必須執行的,不是管是出錯了,還是不出錯。
try{//正常執行的程式碼}catch (Exception e){//出錯後執行的程式碼}finally{//無論正常執行還是出錯,之後都會執行的程式碼}//跟上面try catch無關的程式碼正常執行的程式碼如果出現異常,就不會執行出現異常語句後面的所有正常程式碼.異常可能會被捕獲掉,比如上面catch宣告的是捕獲Exception,那麼所有Exception包括子類都會被捕獲,但如Error或者是Throwable但又不是Exception(Exception繼承Throwable)就不會被捕獲.