Welcome to Javaranch !!
Isolated blocks are basically constructor blocks. These constructor blocks are called when an object of this class is instantiated in JVM [ like new Confusion()] .
Question can be why do we have these constructors block available in
Java when we already have well defined semantics for Constructors. Answer is these constructors blocks are there to place java code which is common to all constructors. The Java compiler copies constructor blocks into every constructor. Therefore, this approach can be used to share a block of code between multiple constructors. For example - if a class has 2 valid constructors and we have a code which is common to all these 2 constructors, then, instead of copying that code in 2 constructors, we can place it in common constructor level block. To put these words in code, consider below mentioned class...
Here, when we instantiate this class object, constructor block code is copied into each constructor.
In your class, since you have not provided any constructor, JVM provides you default constructor and then places two constructor blocks within it. That's why when you call this class, these contructor blocks also get executed.
Having explained this bit, I should be easy for you to give a try by generating an exception in constructor and see how that code behaves when you execute it. For example, execute below code and check what is the output.