閱讀843 返回首頁    go 阿裏雲 go 技術社區[雲棲]


在java 7中捕獲多個異常

java 7使得我們能夠在同一個catch語句塊中捕獲多種不同的異常,這也叫做多重異常捕獲。

在java7以前,我們可能要這樣做:

01 try {
02  
03     // execute code that may throw 1 of the 3 exceptions below.
04  
05 catch(SQLException e) {
06     logger.log(e);
07  
08 catch(IOException e) {
09     logger.log(e);
10  
11 catch(Exception e) {
12     logger.severe(e);
13 }

正如上麵看到的,SQLException 和IOException 這兩個異常都是以相同的方式來處理的,但是你仍然要為這兩個異常寫兩個獨立的catch語句塊。

java 7中你可以像下麵這樣捕獲多個異常:

01 try {
02  
03     // execute code that may throw 1 of the 3 exceptions below.
04  
05 catch(<strong>SQLException | IOException e</strong>) {
06     logger.log(e);
07  
08 catch(Exception e) {
09     logger.severe(e);
10 }

注意,第一個catch語句塊中的兩個異常名字是被管道字符|分割的。兩個異常類名之間的管道字符就是在同一個catch語句塊中聲明多個異常的方法。

最後更新:2017-05-22 20:04:35

  上一篇:go  多線程的代價
  下一篇:go  JAVA語言規範-線程和鎖章節之同步、等待和通知