This would be the same as
try {
try {
...
} finally {
// instructions firstly executed when the outer "try" block is quit
}
} catch(...) {
...
}
This isn't a common pattern, but if it was, it could be supported in a more idiomatic way. Generally speaking finally
is used to close of any resources which you no longer need and you are unlikely to want prevent access to those resources in your exception handling.
The only difference is that the firstly block is executed before the catch clauses, instead of after as the finally block does. So for instance, it can properly close the resources, before the catch blocks (which could do a System.exit...).
I assume the closing of resources made more sense to place at the end of the block rather than in the middle.