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语句块中声明多个异常的方法。
时间: 2024-10-03 23:08:28