Java 7 异常处理
Java7 语言引入了诸如在Switch情况下使用字符串的功能,并改进了异常处理。
它引入了一个multi-catch block 。
在Java 7 ,一个单一的catch 块并不足以处理多个异常。
我们可以使用multiple catch block ,其中每个catch块都用来捕捉单个异常。
让我们看看Java7的多捕获异常的例子
让我们看看在Java7版本之前是如何处理多个异常的
例如,在Java 7之前,如果我们想捕捉多个异常,我们需要为每个异常类型写一个单独的catch块,如下图所示。
public class Test {
public static void main(String[] args) {
try{
// possible code throwing exception
}catch(IllegalArgumentException iae){
//catch IllegalArgumentException and print error message
}catch(Exception iae){
//catch Exception and prints error message
}
}
}
Java 7引入了在单个catch 块中声明多个异常。
Java 7中处理多个异常的例子
Java7引入了一个单一的catch块来处理多个异常。
总的来说,它减少了捕捉块的代码。
下面的例子
public class Test {
public static void main(String[] args) {
try{
// possible code throwing exception
}
catch(IllegalArgumentException iae|Exception e) {
}
}
}
在上面的代码中,IllegalArgumentException 和Exceptions 被定义在同一个catch 块中,并带有分隔符|符号。
单个catch块处理多个异常的优点:
- 简化了编码
- 减少代码的重复
- 减少了catch块
当你在Intelli IDE中处理maven项目时,你可以通过以下细节将java版本配置给maven编译器插件。
更改source 和target java 版本至少为 1.7
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.9</source>
<target>1.9</target>
</configuration>
</plugin>
结论
了解了Java 7语言中的多抓取块,以及如何在maven或Intelli中配置以支持它。