Skip to content
Advertisement

Why RuntimeException is not caught in catch block if there are multiple catch blocks?

I am able to catch RuntimeException or subclass of it with below code:

JavaScript

But I am getting error with below code and not able to catch RuntimeException in Exception catch block.

JavaScript

I searched for the same type of questions but did not find a suitable answer. Can anyone explain why the behaviour is different?

Advertisement

Answer

In the second example you are throwing a childRuntimeException, which is caught, but then a new runtimeException is thrown. This block has no “catch” clause, so the exception is thrown and not caught.

The second catch is relevant for the “try” block, not for the “catch” block.

User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement