国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Java中finally關(guān)鍵字的使用

開發(fā) 后端
與其他語(yǔ)言的模型相比,finally 關(guān)鍵字是對(duì) Java 異常處理模型的最佳補(bǔ)充。finally 結(jié)構(gòu)使代碼總會(huì)執(zhí)行,而不管有無異常發(fā)生。使用 finally 可以維護(hù)對(duì)象的內(nèi)部狀態(tài),并可以清理非內(nèi)存資源。 如果沒有 finally,您的代碼就會(huì)很費(fèi)解。

與其他語(yǔ)言的模型相比,finally 關(guān)鍵字是對(duì) Java 異常處理模型的最佳補(bǔ)充。finally 結(jié)構(gòu)使代碼總會(huì)執(zhí)行,而不管有無異常發(fā)生。使用 finally 可以維護(hù)對(duì)象的內(nèi)部狀態(tài),并可以清理非內(nèi)存資源。 如果沒有 finally,您的代碼就會(huì)很費(fèi)解。例如,下面的代碼說明,在不使用 finally 的情況下您必須如何編寫代碼來釋放非內(nèi)存資源:

  1. import java.net.*;  
  2. import java.io.*;  
  3.  
  4.      class WithoutFinally  
  5. {  
  6.       public void foo() throws IOException  
  7. {  
  8. //在任一個(gè)空閑的端口上創(chuàng)建一個(gè)套接字  
  9. ServerSocket ss = new ServerSocket(0);  
  10. try 
  11.         {  
  12.        Socket socket = ss.accept();  
  13.        //此處的其他代碼...  
  14. }  
  15. catch (IOException e)  
  16.        {  
  17.        ss.close();                                              //1  
  18.        throw e;  
  19. }  
  20. //...  
  21. ss.close();                                                //2  
  22. }  

這段代碼創(chuàng)建了一個(gè)套接字,并調(diào)用 accept 方法。在退出該方法之前,您必須關(guān)閉此套接字,以避免資源漏洞。為了完成這一任務(wù),我們?cè)?//2 處調(diào)用 close,它是該方法的最后一條語(yǔ)句。但是,如果 try 塊中發(fā)生一個(gè)異常會(huì)怎么樣呢?在這種情況下,//2 處的 close 調(diào)用永遠(yuǎn)不會(huì)發(fā)生。因此,您必須捕獲這個(gè)異常,并在重新發(fā)出這個(gè)異常之前在 //1 處插入對(duì) close 的另一個(gè)調(diào)用。這樣就可以確保在退出該方法之前關(guān)閉套接字。

這樣編寫代碼既麻煩又易于出錯(cuò),但在沒有 finally 的情況下這是必不可少的。不幸的是,在沒有 finally 機(jī)制的語(yǔ)言中,程序員就可能忘記以這種方式組織他們的代碼,從而導(dǎo)致資源漏洞。Java 中的 finally 子句解決了這個(gè)問題。有了 finally,前面的代碼就可以重寫為以下的形式:

  1. import java.net.*;  
  2. import java.io.*;  
  3.  
  4. class WithFinally  
  5. {  
  6. public void foo2() throws IOException  
  7. {  
  8. //在任一個(gè)空閑的端口上創(chuàng)建一個(gè)套接字  
  9. ServerSocket ss = new ServerSocket(0);  
  10. try 
  11.         {  
  12.       Socket socket = ss.accept();  
  13.       //此處的其他代碼...  
  14. }  
  15. finally 
  16.         {  
  17.        ss.close();  
  18. }  
  19. }  

finally 塊確保 close 方法總被執(zhí)行,而不管 try 塊內(nèi)是否發(fā)出異常。因此,可以確保在退出該方法之前總會(huì)調(diào)用 close 方法。這樣您就可以確信套接字被關(guān)閉并且您沒有泄漏資源。在此方法中不需要再有一個(gè) catch 塊。在第一個(gè)示例中提供 catch 塊只是為了關(guān)閉套接字,現(xiàn)在這是通過 finally 關(guān)閉的。如果您確實(shí)提供了一個(gè) catch 塊,則 finally 塊中的代碼在 catch 塊完成以后執(zhí)行。

finally 塊必須與 try 或 try/catch 塊配合使用。此外,不可能退出 try 塊而不執(zhí)行其 finally 塊。如果 finally 塊存在,則它總會(huì)執(zhí)行。(無論從那點(diǎn)看,這個(gè)陳述都是正確的。有一種方法可以退出 try 塊而不執(zhí)行 finally 塊。如果代碼在 try 內(nèi)部執(zhí)行一條 System.exit(0); 語(yǔ)句,則應(yīng)用程序終止而不會(huì)執(zhí)行 finally 執(zhí)行。另一方面,如果您在 try 塊執(zhí)行期間撥掉電源,finally 也不會(huì)執(zhí)行。)

 

原文鏈接:http://www.cnblogs.com/haitao-fan/archive/2012/05/31/2528389.html

責(zé)任編輯:林師授 來源: 范海濤的博客
相關(guān)推薦

2020-08-10 08:00:13

JavaFinal關(guān)鍵字

2009-06-25 10:33:53

StaticJava類

2021-02-01 13:10:07

Staticc語(yǔ)言UNIX系統(tǒng)

2022-05-06 08:32:40

Pythonwith代碼

2024-11-20 15:55:57

線程Java開發(fā)

2025-01-09 10:30:40

2023-09-22 22:27:54

autoC++11

2023-11-19 22:52:42

2025-12-01 06:10:00

2012-03-01 12:50:03

Java

2011-06-14 13:26:27

volatile

2010-07-23 14:32:43

SQL Server

2024-02-23 18:04:37

C++const關(guān)鍵字

2009-06-29 18:14:23

Java多線程volatile關(guān)鍵字

2017-10-20 11:12:12

數(shù)據(jù)類型關(guān)鍵字對(duì)象

2011-07-14 23:14:42

C++static

2009-09-01 15:25:04

C# default關(guān)

2019-09-04 14:14:52

Java編程數(shù)據(jù)

2013-03-28 15:19:31

assign、copy

2019-12-17 08:16:04

JavaScriptthis編程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品美女久久| 亚洲一区二区三区视频在线| 鬼打鬼之黄金道士1992林正英| 欧美一级免费视频| 日韩视频一区二区三区| 亚洲人成小说网站色在线| 国产成人午夜片在线观看高清观看| 超碰超碰超碰超碰超碰| 日韩一区二区免费电影| 日韩精品福利网| h片精品在线观看| 九色综合日本| 日韩av在线免费| 波多野结衣一区二区三区 | 交换国产精品视频一区| 欧美整片在线观看| 午夜精品福利一区二区三区av | av在线播放天堂| 九九九久久国产免费| 亚洲色图欧美在线| 成人av动漫在线观看| h视频在线播放| 一本久久a久久精品vr综合| 国产一区二区黄| 国产精品乱码一区二区三区软件 | 妞干网在线观看视频| 欧美高清激情视频| 亚洲不卡av一区二区三区| 亚洲高清在线| 台湾佬中文娱乐网欧美电影| 91蝌蚪视频在线观看| 91精品久久久久久久久久另类| 欧美日韩国产一区二区三区地区| 免费人成网站在线观看欧美高清| 日本免费成人| 欧美13~18sex性hd| 色爱区成人综合网| 欧美激情欧美激情在线五月| 色综合亚洲欧洲| 国产精品资源在线观看| 九九久久婷婷| av香蕉成人| 在线免费视频a| 成人黄色在线免费观看| 亚洲欧美一区二区三区在线| 亚洲少妇中出一区| 天堂久久一区二区三区| 亚洲精品在线国产| 成人高清网站| 精品视频无码一区二区三区| 99视频免费观看| 日韩网站免费观看高清| 色av综合在线| a亚洲天堂av| 国产精品a级| 国产美女亚洲精品7777| 97电影在线| av污在线观看| 欧美日韩国产不卡在线看| 久久全球大尺度高清视频| 911精品产国品一二三产区| 久久精品男人的天堂| 极品av少妇一区二区| 美女精品久久| 污片视频在线免费观看| 国产一二三视频| 国产乱子伦精品视频| yy111111少妇影院日韩夜片| 欧美日本在线视频中文字字幕| 欧美一区午夜精品| 一区2区3区在线看| 91影院在线观看| 日产欧产美韩系列久久99| 日韩成人免费| 麻豆视频久久| 欧美aa在线| 在线观看完整版免费| 国产精品影视| 日韩avxxx| 一区二区精品国产| 99视频免费观看| 欧美性受xxxx白人性爽| 亚洲精选一区二区| 欧美小视频在线观看| 中文欧美字幕免费| 国产在线麻豆精品观看| 亚洲一级网站| 国产一区二区三区网| 激情小说亚洲| 四虎av在线| 第一福利在线| 日本韩国在线视频| 国产二区视频在线播放| 亚洲综合五月天| 波多野结衣一区二区三区在线观看| 欧美激情视频一区二区三区不卡| 亚洲第一区中文99精品| 欧美亚洲综合网| 亚洲综合久久av| 中文字幕av资源一区| 成人aaaa免费全部观看| 青青国产91久久久久久| 亚洲经典视频在线观看| 久久精品欧美一区| 国产欧美日韩精品高清二区综合区| 日韩一二三区在线观看| 美女色狠狠久久| www.youjizz.com在线| 免费网站黄在线观看| 蜜桃视频在线观看视频| 天天射综合网站| 九色视频网站| 五月婷婷导航| 婷婷色播视频| 一本色道久久亚洲综合精品蜜桃| 欧美一区二区中文字幕| 欧美高清中文字幕| 久久久久久久久久久综合| 在线精品日韩| 吴梦梦av在线| wwwjizzjizzcom| 国产精品视频网站在线观看| 中文字幕在线中文| 青青青在线视频播放| 国产男女免费视频| 国产男女在线观看| 国产福利视频在线播放| 日韩 欧美 高清| 青青青在线视频免费观看| 无码内射中文字幕岛国片| 美女福利视频在线| 十八禁视频网站在线观看| 欧美日韩国产精品激情在线播放| 精品无码国模私拍视频| 成年人视频观看| 日韩av一二三四| 中文字幕第80页| 国产精品影视| 亚州av电影免费在线观看 | 色天天综合网| 国产欧美日韩在线观看视频| 欧美wwwwww| 盗摄系列偷拍视频精品tp| 国产丝袜一区| 欧洲grand老妇人| 亚洲a在线视频| 亚洲黄页一区| 免费在线看一区| 国产一区高清在线| 99re66热这里只有精品3直播 | 亚洲国产第一页| 欧美精品一区二区不卡| 精品亚洲夜色av98在线观看| 亚洲美女性生活视频| 在线播放精品一区二区三区| 久久久电影免费观看完整版| 欧美激情精品久久久久久黑人| 91成人在线观看国产| 国产精品黄视频| 成人黄动漫网站免费| 欧美欧美一区二区| 免费的av在线| 999精彩视频| 午夜视频在线免费| 国产写真视频在线观看| 香蕉伊大人中文在线观看| 国产日韩一区二区三免费高清| 台湾色综合娱乐中文网| 欧美99在线视频观看| 老牛国产精品一区的观看方式| 国产精品小仙女| 国产精品国产三级国产普通话99 | 日韩视频在线一区| 欧美激情久久久| 成人亲热视频网站| 欧美日韩一区二区三区在线视频| 亚洲在线色站| 能看的毛片网站| 在线国产一区二区三区| 黄色成人影院| 美女视频一区| 日韩欧美午夜| 久久国产综合精品| 中文字幕不卡的av| 欧美丝袜第三区| 中文字幕久久亚洲| 国产精品免费久久久久影院| 欧美连裤袜在线视频| 精品少妇人妻av一区二区| 亚洲第一中文av| 永久av在线| 国产成人免费av一区二区午夜| 色偷偷综合网| 蜜臀av一区二区在线观看| 国产精品沙发午睡系列990531| 欧美视频精品在线| 日韩中文在线中文网三级| 国产女同一区二区| 特级西西人体www高清大胆| 日本欧洲一区|