Java多抓块异常处理实例教程

127 阅读1分钟

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) {
        }



    }
}

在上面的代码中,IllegalArgumentExceptionExceptions 被定义在同一个catch 块中,并带有分隔符|符号。

单个catch块处理多个异常的优点:

  • 简化了编码
  • 减少代码的重复
  • 减少了catch块

当你在Intelli IDE中处理maven项目时,你可以通过以下细节将java版本配置给maven编译器插件

更改sourcetarget 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中配置以支持它。