Try statements may be tested.
In Java, the try
statement can be nested. This means that you can have one or more try
blocks inside another try
block. This allows for more granular exception handling, where specific portions of code can have their own exception-handling logic.
Here’s an example of nested try
blocks:
public class NestedTryExample {
public static void main(String[] args) {
try {
// Outer try block
System.out.println("Outer try block");
try {// Inner try block
System.out.println(“Inner try block”);
int result = 10 / 0; // This will throw an ArithmeticException
} catch (ArithmeticException innerException) {
// Inner catch block
System.out.println(“Caught inner exception: “ + innerException.getMessage());
}
// Code after the inner try-catch block
System.out.println(“After inner try-catch block”);
} catch (Exception outerException) {
// Outer catch block
System.out.println(“Caught outer exception: “ + outerException.getMessage());
}
}
}
In this example, if an ArithmeticException
occurs in the inner try block, the inner catch block will handle it, and the control will move to the code after the inner try-catch block in the outer try block. If there’s an exception in the outer try block, the outer catch block will handle it.