成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

初探Java 7異常處理功能增強

原創
開發 后端
Java異常處理語法是指是Java開發者最為頭疼的事情,也是整個Java程序語言中受到輿論攻擊最多的一部分。在Jdk7的研發過程中,對Java異常處理語法進行改進成為重要任務。

【51CTO譯文】之前我們介紹過Java 7的***特性更新和代碼示例,今天我們來看看Java 7異常處理方面的功能增強。來自Coin項目的又一個細微語言增強已經被包含在Java 7中:由谷歌專任工程師兼Java講師Neal Gafter提出的Java增強異常處理功能。Open JDK開發的***Joe Darcy已經在其博客上宣布了這個變化。

此次變動增加了兩處對異常處理機制的細微增強:

◆Multicatch:開發者現在能夠在一個catch代碼塊中捕獲多個異常類型;

◆Final Rethrow:它可以讓開發者捕獲一個異常類型及其子類型,并且無需向方法聲明中增加拋出子句,就能重新將其拋出。

過去我們在捕獲多個異常類型時,往往會使用以下類型的代碼:

  1. catch (FirstException ex) {  
  2.     logger.error(ex);  
  3.     throw ex;  
  4. catch (SecondException ex) {  
  5.     logger.error(ex);  
  6.     throw ex;  
  7. }  

但是以上代碼除了冗長外沒有什么優點。一個解決辦法是找出這兩個異常類型的共同子類型,只對其進行捕獲并拋出。但是這種方法通常會捕獲一些你并不需要的異常。

現在借助于新增的功能,開發者可以使用以下代碼:

  1. catch (FirstException | SecondException ex) {  
  2.     logger.error(ex);  
  3.     throw ex;  

這種代碼看上去要簡潔清晰的多。

第二個增強功能要復雜一些。假如開發者希望捕獲所有異常,在進行必要的幾個操作后,再將其拋出。就代碼編寫而言并不是一件難事,但是開發者必須在方法聲明中增加一個拋出子句,來管理自己代碼發出的新異常。而現在借助于Final Rethrow,開發者無需增加一個異常拋出子句就能完成此項任務:

  1. try {  
  2.     // some code  
  3. catch (final Throwable ex) {  
  4.     // some more code  
  5.     throw ex;  
  6. }  
  7.  

通過使用final關鍵字,開發者可以拋出所需的準確動態類型異常。這樣如果一個IOException異常發生,那么IOException將被拋出。當然,開發者必須聲明不被捕獲的異常。如果開發者在try代碼塊(在//some more code部分)中沒有捕獲任何異常,拋出子句則與以前完全相同;反之如果捕獲到某些異常,開發者則可以進行相應處理。

Java 7中的multi-catch是一個非常好的功能,但是final rethrow對程序員來說并不常用。

原文作者:Baptiste Wicht

原文題目:Better exception handling in Java 7 : Multicatch and final rethrow

【編輯推薦】

  1. Java 7 I/O新功能探秘:同步操作,多播與隨機存取
  2. 再探Java 7:***特性更新、代碼示例及性能測試
  3. Java 7的***類函數:學習閉包的使用
  4. Java 7,下一代Java開發技術詳解
  5. Java 7 NIO2高性能Web服務器并發連接的處理
責任編輯:佚名 來源: 51CTO
相關推薦

2009-07-17 17:34:03

SwingWorker異常處理

2018-08-20 16:25:48

編程語言Java異常處理

2009-05-12 08:51:31

微軟Windows 7操作系統

2012-12-21 10:48:20

Java異常

2011-09-14 14:15:25

IBMAIX 7操作系統

2023-12-11 14:19:00

Java程序異常

2009-04-27 16:07:07

Windows 7微軟操作系統

2009-07-03 14:15:37

NetBeans6.7

2023-07-09 09:23:46

Java 21編程

2009-04-12 11:12:24

windowsCE

2011-03-28 09:17:14

Java 7mutilcatch

2023-05-28 13:09:47

Java異常應用

2011-07-05 10:20:38

java

2012-11-19 14:29:38

JavaJava異常異常處理

2010-10-09 16:40:52

2011-04-06 10:52:51

Java異常處理

2023-10-10 13:23:18

空指針異常Java

2013-08-22 17:10:09

.Net異常處理

2009-10-22 09:47:33

Visual Stud

2023-02-23 08:15:33

Spring異常處理機制
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产色视频网站 | 国产成人精品久久二区二区 | h片在线观看免费 | 看一级毛片 | h视频免费在线观看 | 中文字幕在线观看日韩 | 91精品国产综合久久精品图片 | 狠狠狠色丁香婷婷综合久久五月 | 中文字幕久久精品 | 亚洲最大av | 精品中文字幕在线 | 亚洲欧美日韩一区二区 | 2018中文字幕第一页 | 亚洲高清在线观看 | 久久精品亚洲精品国产欧美 | 精品一区欧美 | 日韩在线 | 美日韩精品| 天天爱天天操 | 91在线免费观看 | 欧美色成人 | 亚洲欧美一区二区三区视频 | 国产精品久久久久一区二区 | 中文字幕高清视频 | 亚洲一区二区中文字幕 | 久久久国产网站 | 国产精品国产成人国产三级 | 欧美成人手机视频 | 欧美精品久久久久久久久久 | 欧美毛片免费观看 | 婷婷综合久久 | 国产精品福利视频 | 视频一区二区中文字幕 | 成人性视频在线播放 | 精品欧美乱码久久久久久 | 中文字幕免费视频 | 中文字幕不卡在线88 | 国产综合久久久 | 日韩欧美网 | 四虎永久在线精品免费一区二 | 日韩在线国产 |