在java 7中捕獲多個(gè)異常
java 7使得我們能夠在同一個(gè)catch語(yǔ)句塊中捕獲多種不同的異常,這也叫做多重異常捕獲。
在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 這兩個(gè)異常都是以相同的方式來(lái)處理的,但是你仍然要為這兩個(gè)異常寫兩個(gè)獨(dú)立的catch語(yǔ)句塊。
java 7中你可以像下面這樣捕獲多個(gè)異常:
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
}
注意,第一個(gè)catch語(yǔ)句塊中的兩個(gè)異常名字是被管道字符|分割的。兩個(gè)異常類名之間的管道字符就是在同一個(gè)catch語(yǔ)句塊中聲明多個(gè)異常的方法。