亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Java如果在try里面執行return還會不會執行finally

瀏覽:6日期:2022-08-18 08:40:28
前言

我們都知道,finally在捕獲異常的操作中,總是最后并且一定會執行的。那么,如果我在使用try finally的時候,如果try 給了一個return,那么還會不會執行finally呢?這里就來試一試

finally

Finally代碼不管有沒有異常發生它都會執行。

沒有異常發生的時候,在try內的代碼執行結束后,執行finally。

如果發生了異常并且給catch捕獲,則在執行完catch之后執行finally。

如果有異常且未被捕獲,則在異常被拋給上層之前執行。

事實上,不用try catch也可以直接執行 try finally。那么如果我在try 里面 使用 return 會怎樣呢?

代碼如下

public class Test { public static void main(String[] args) { int result = fun(); System.out.println('result = ' + result); } public static int fun(){ int ret = 0; try{ return ret; }finally { ret = 5; System.out.println('ret = ' + ret); } }}

測試的結果是,finally里面的代碼依然會被執行。但是,雖然給ret賦值了5。但返回的值最終還是0。所以,即使在try里面使用了return,也依然會執行finally。但是finally無法改變return的值。

因為在執行的過程中, try執行到return,會先把ret的值保存在一個臨時變量中,等到finally執行完畢之后才會返回。因此finally無法改變最終的返回結果

那么,如果我在finally里面也執行一個return呢?結果會怎樣?

代碼如下

public class Test { public static void main(String[] args) { int result = fun(); System.out.println('result = ' + result); } public static int fun(){ int ret = 0; try{ return ret; }finally { ret = 5; return ret; } }}

這個時候try里面的return就會丟失。只會執行finally里面的return

到此這篇關于Java如果在try里面執行return,那么還會不會執行finally的文章就介紹到這了,更多相關java try執行return內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 国产精品福利一区 | a级片免费在线观看 | 亚洲人成网站在线播放观看 | 三级视频中文字幕 | 欧美日韩在线精品成人综合网 | 成年网址网站在线观看 | 99爱在线精品视频免费观看9 | 欧美精品一区二区三区久久 | 国产一二三四区中 | 色天使色婷婷丁香久久综合 | 日本一视频一区视频二区 | 成人做爰又黄又爽免费视频 | 一本久道热中字伊人 | 伊人久久大香线蕉精品哪里 | 777国产精品永久免费观看 | 一级成人毛片免费观看欧美 | 日韩第一视频 | 国内自拍经典三级在线 | 免费日本一区 | 精品国产精品久久一区免费式 | 国产成人一区二区三区在线视频 | 免费又爽又黄的禁片1000部 | www.黄色片网站 | 91国在线国内在线播放 | 国产粗大猛烈18p | 亚洲一区二区三区成人 | 国产一级做a爰片在线 | 中文字幕综合在线 | 香港激情三级做爰小说 | 久久99九九精品免费 | 亚洲欧美日韩国产一区二区三区精品 | 欧美日韩国产一区二区三区不卡 | 国产精品午夜在线播放a | 欧美一级a俄罗斯毛片 | 特级毛片aaaa级毛片免费 | 青草香蕉视频 | 一级无遮挡理论片 | 日韩一级片免费看 | 欧美在线 | 亚洲 | 久久制服诱惑 | 日韩中文字幕一在线 |