Java Multi catch block exception handling example tutorial

Java 7 Exception Handling

Java7 language has introduced features like Usage of Strings in Switch case and improved the exception handling.

It introduced a multi-catch block.

A single catch block is not sufficient to handle multiple exceptions before Java 7.

We can achieve this using multiple catch block, where each catch block is used to catch a single exception.

Let us see the example of Java7 Multi-catch exception example

Let’s see how multiple exceptions are handled before the Java7 version

How to declare multiple exceptions in catch block in java?

For example, before Java 7, if we want to catch multiple exceptions, we need to write a separate catch block for each exception type as shown below.

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 introduced multiple exceptions declared in the single catch block.

Handling multiple exceptions example in Java 7:

Java7 has introduced a single catch block for handling multiple exceptions.

Altogether, It reduces the code of catch blocks.

Below example

public class Test {
    public static void main(String[] args) {
        try{
            // possible code throwing exception
        }
        catch(IllegalArgumentException iae|Exception e) {
        }



    }
}

In the above code, IllegalArgumentException and Exceptions are defined in the same catch block with separator pipe | symbol

Advantages of Multi-catch exceptions in Single catch block:

  • Simplify the coding
  • Decrease code duplicate
  • Reduces catch blocks

Support multi-catch exceptions in Maven projects of Intelli

When you’re working on maven projects in Intelli IDE, you can configure the java version to maven compiler plugin with the following details.

change source and target java version at least 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>

Conclusion

Learned multi-catch block in Java 7 language and how to configure in maven or Intelli to support it.