日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java 7異常新特性之mutilcatch

歷經(jīng)4年,Java7終于和大家見面。關(guān)于Java7的新特性,詳見這里。

目前成都創(chuàng)新互聯(lián)公司已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、桑植網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

Java7增強了Java的異常處理機制,主要表現(xiàn)為三個方面:捕捉多種異常類型(multicatch);重新拋出(rethrow)異常;簡化資源清理(try-with-resources)

捕捉多種異常類型

從Java7開始,你就可以在一個catch塊中捕捉多種類型的異常了。增加multicatch的特性的主要是為了降低重復代碼和較少過大范圍的異常捕捉(例如這樣的捕捉 catch(Exception e))。

假如你正開發(fā)這樣一個應(yīng)用程序,這個程序可以靈活地將數(shù)據(jù)復制到數(shù)據(jù)庫或者文件中,清單1(CopyToDatabaseOrFile.java)模擬了這種程序, 展示了在catch模塊中存在重復代碼的現(xiàn)象:

Java代碼

 
 
 
  1. // CopyToDatabaseOrFile.java      
  2.     
  3. import java.io.IOException;      
  4.     
  5. import java.sql.SQLException;      
  6.     
  7. public class CopyToDatabaseOrFile {      
  8.     
  9.       
  10.     
  11. public static void main(String[] args) {     
  12.     
  13. try {      
  14.     
  15. copy();      
  16.     
  17. } catch (IOException ex) {     
  18.     
  19. System.out.println(ex.getMessage()); // additional handler code      
  20.     
  21. } catch (SQLException ex) {      
  22.     
  23. System.out.println(ex.getMessage()); // additional handler code that's identical to the previous handler's // code      
  24.     
  25. }      
  26.     
  27. }      
  28.     
  29.       
  30.     
  31. static void copy() throws IOException, SQLException {     
  32.     
  33. if (Math.random() < 0.5)      
  34.     
  35. throw new IOException("cannot copy to file");      
  36.     
  37. else      
  38.     
  39. throw new SQLException("cannot copy to database");      
  40.     
  41. }      
  42.     
  43.       
  44.     
  45. }   

清單1: CopyToDatabaseOrFile.java

Java7克服了這種代碼重復的問題。你只需在一個catch塊中指定多個需要處理的異常,將這些異常按順序排列,并用“|”分隔每個異常。如:

Java代碼

 
 
 
  1. try{     
  2.    copy();     
  3. }catch (IOException | SQLException ex){      
  4.   System.out.println(ex.getMessage());     
  5. }  

現(xiàn)在,當copy()方法拋出任何一種類型,都會在catch塊中被捕捉。

當在catch中聲明多種異常時,被聲明的異常默認為final的,也就是說不能再修改異常的引用。如上例中,不能再將ex賦值給另外一個異常(如ex=new MyException())。

【編輯推薦】

  1. Java 7將于明年7月28日正式發(fā)布面向開發(fā)者
  2. Java 7,一個技術(shù)標準的商業(yè)咒語
  3. Java 7 未按時發(fā)布 計劃再次延期
  4. Oracle和JCP成員之間的Java戰(zhàn)爭一觸即發(fā)
  5. IBM加入OpenJDK 將聯(lián)手Oracle發(fā)展Java技術(shù)

文章題目:Java 7異常新特性之mutilcatch
地址分享:http://www.5511xx.com/article/dhoedjs.html