How to catch multiple exceptions explain with example?
If multiple blocks match the exception type, the first block in which matches the kinds of the exception catches it.
public class HelloThere {
public static void main(String[] args) {
int repeat;
try {
// possible NumberFormatException and ArrayIndexOutOfBoundsException
repeat = Integer.parseInt(args[0]);
// possible ArithmeticException
int n = 2/repeat;
// possible StringIndexOutOfBoundsException
String s = args[0].substring(5);
}
catch (NumberFormatException e) {
// print an error message
System.err.println("Usage: java HelloThere repeat_count" );
System.err.println(
"where repeat_count is the number of times to say Hello" );
System.err.println("and given as an integer like 1 or 7" );
return;
}
catch (ArrayIndexOutOfBoundsException e) {
// pick a default value
repeat = 1;
}
catch (IndexOutOfBoundsException e) {
// ignore it
}
catch (Exception e) {
// print an error message and exit
System.err.println("Unexpected exception");
e.printStackTrace();
return;
}
for (int i = 0; i < repeat; i++) {
System.out.println("Hello");
}
}
}
It's rare to catch a general Error or Throwable because it's actually hard to clean up after them in the general case.