Nested Try Block In Java Example
Chapter:
Exception Handling
Last Updated:
08-06-2017 14:10:32 UTC
Program:
/* ............... START ............... */
public class JavaNestedTry {
public static void main(String args[]) {
// Parent try block
try {
// Child try block1
try {
System.out.println("Inside block1");
int b = 45 / 0;
System.out.println(b);
} catch (ArithmeticException e1) {
System.out.println("Exception: e1");
}
// Child try block2
try {
System.out.println("Inside block2");
int b = 45 / 0;
System.out.println(b);
} catch (ArrayIndexOutOfBoundsException e2) {
System.out.println("Exception: e2");
}
System.out.println("Just other statement");
} catch (ArithmeticException e3) {
System.out.println("Arithmetic Exception");
System.out.println("Inside parent try catch block");
} catch (ArrayIndexOutOfBoundsException e4) {
System.out.println("ArrayIndexOutOfBoundsException");
System.out.println("Inside parent try catch block");
} catch (Exception e5) {
System.out.println("Exception");
System.out.println("Inside parent try catch block");
}
System.out.println("Next statement..");
}
}
/* ............... END ............... */
Output
Inside block1
Exception: e1
Inside block2
Arithmetic Exception
Inside parent try catch block
Next statement..
Notes:
-
The try block within a try block is known as nested try block in java.
- One try catch block can be present in the another try’s body. This is called nesting of try catch blocks. Each time a try block does not have a catch handler for a particular exception the stack is unwound and the next try block’s catch handlers are inspected for a match.
- Exception handlers can be nested within one another. A try, catch or a finally block can in turn contains another set of try catch finally sequence. In such a scenario, when a particular catch block is unable to handle an Exception, this exception is rethrown. This exception would be handled by the outer set of try catch handler.
Tags
Nested Try, Java