Program to demonstrate Java 7 new feature : Catching multiple exception types in a single catch block
Scenario 1 :
Scenario 2 :
package com.hubberspot.java7;
import java.util.InputMismatchException;
public class MultipleExceptionsCatching {
public static void main(String[] args) {
try {
// Scenario 1 : we will pass int parameter
// as -1, which will throw InputMismatchException
int i = Integer.parseInt("String 1");
// Scenario 2 : we will pass String as a int to
// parse. It will throw NumberFormatException
// int i = Integer.parseInt("String 1");
if(i <= 0) {
throw new InputMismatchException();
}
// Initially prior to Java 7, we would have coded multiple exceptions
// into various catch blocks as :
//
// try {
// throw new NumberFormatException() or throw new InputMismatchException()
// }
// catch(NumberFormatException nfe) {
// nfe.printStackTrace();
// }
// catch(InputMismatchException ime) {
// ime.printStackTrace();
// }
// But with introduction of Java 7 we can handle multiple
// exceptions in a single catch block itself
// see the code below :
} catch(NumberFormatException | InputMismatchException e) {
e.printStackTrace();
}
}
}
Output of the program : Scenario 1 :
Scenario 2 :

