午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

Java如果在try里面執(zhí)行return還會不會執(zhí)行finally

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

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

finally

Finally代碼不管有沒有異常發(fā)生它都會執(zhí)行。

沒有異常發(fā)生的時候,在try內(nèi)的代碼執(zhí)行結(jié)束后,執(zhí)行finally。

如果發(fā)生了異常并且給catch捕獲,則在執(zhí)行完catch之后執(zhí)行finally。

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

事實上,不用try catch也可以直接執(zhí)行 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); } }}

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

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

那么,如果我在finally里面也執(zhí)行一個return呢?結(jié)果會怎樣?

代碼如下

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就會丟失。只會執(zhí)行finally里面的return

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

標簽: Java
相關(guān)文章:
主站蜘蛛池模板: 久久婷婷av | 欧美日韩乱码 | 爱爱免费网站 | 日韩一区二区在线播放 | 美女性生活片 | 国产精品成人va在线观看 | 单身男女免费观看国语高清 | 黄色在线观看网址 | 成人综合av | 久久国产乱子 | 好男人www社区在线视频夜恋 | 制服.丝袜.亚洲.另类.中文 | 国产日韩一区 | 久久精品视频18 | 四虎影院永久 | 中文字幕在线观看不卡 | 欧美成年人网站 | 色姑娘色综合 | 亚洲视频91| 国产原创视频在线 | 国产性色av | 影音先锋男人资源网 | jizz日韩 | 日韩精品播放 | 亚洲久久久久久 | a级网站在线观看 | 新国产视频 | 亚洲国产精品综合 | 色综合综合网 | 欧美一区二区在线视频 | 日韩免费中文字幕 | 国产在线观看www | 欧美一级二级三级视频 | 国产婷婷| 成人午夜免费视频 | 久久99操 | 日韩精品成人一区 | 国产毛片视频 | 色婷婷精品视频 | 国产1区二区 | 黄色av观看|