在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 這兩個異常都是以相同的方式來處理的,但是你仍然要為這兩個異常寫兩個獨(dú)立的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語句塊中聲明多個異常的方法。