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

Java 7異常新特性之mutilcatch

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

歷經4年,Java7終于和大家見面。關于Java7的新特性,詳見這里。

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

捕捉多種異常類型

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

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

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. }  

 

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

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

【編輯推薦】

  1. Java 7將于明年7月28日正式發布面向開發者
  2. Java 7,一個技術標準的商業咒語
  3. Java 7 未按時發布 計劃再次延期
  4. Oracle和JCP成員之間的Java戰爭一觸即發
  5. IBM加入OpenJDK 將聯手Oracle發展Java技術
責任編輯:金賀 來源: JavaEye博客
相關推薦

2018-08-20 16:25:48

編程語言Java異常處理

2011-03-24 09:22:36

Java 7JDBC4

2011-05-20 09:35:22

JDK7

2011-05-20 09:43:23

JDK7

2021-03-18 10:01:06

Java編譯異常運行異常

2021-02-25 08:40:19

Java異常分類異常防護

2011-05-20 09:53:00

JDK7

2011-05-20 10:15:06

JDK7

2011-05-20 10:28:29

JDK7

2024-10-08 08:00:00

2024-11-13 15:09:57

Java線程開發

2010-05-10 09:21:46

2011-04-01 11:26:21

JDK 7

2016-04-08 11:46:57

c#7新特性

2009-05-25 08:56:26

Windows 7壁紙硬件

2010-05-13 15:41:19

Java 7JDK 7閉包

2011-05-20 10:20:11

JDK7

2017-05-26 10:15:39

Java高級特性反射

2011-04-19 18:42:54

Windows Emb特性

2022-10-11 09:33:04

Java異常Exception
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色免费在线观看网址 | 午夜小视频在线观看 | 成人高清在线 | 不卡一区二区三区四区 | 综合久久久久 | 亚洲xxxxx | 亚洲欧美精品在线观看 | 亚洲狠狠 | 电影午夜精品一区二区三区 | 久久丝袜 | 黄色毛片免费 | 午夜一区二区三区 | 久久精品99国产精品 | 国产欧美一级二级三级在线视频 | 日韩在线视频一区 | 欧美mv日韩mv国产网站91进入 | 爱爱视频在线观看 | 亚洲天堂久久新 | 日韩欧美在线视频 | 99热播精品 | 亚洲精品视频一区二区三区 | 午夜影院视频 | 久久久久久综合 | 亚洲综合视频 | 国产精品久久久久久久久久久免费看 | 日本成人在线免费视频 | 视频一区二区在线观看 | xnxx 日本免费 | 精品国产一二三区 | 久久九精品| 超碰在线97国产 | 国产欧美一区二区精品忘忧草 | 国产精品一区二区三区99 | www国产成人免费观看视频,深夜成人网 | 亚洲成人自拍 | 欧美在线国产精品 | 成人免费在线小视频 | 国产一区二区欧美 | av中文字幕网 | 国产欧美日韩一区二区三区在线观看 | 成人在线视频免费观看 |