Comment by xxs

6 days ago

try/finally is effectively try/catch(Throwable) with copy all the code of the finally block prior to exiting the method. (Java doesn't have a direct bytecode support for 'finally')

Nothing that cursed.

It compiles to this:

  void foo() {
    for (;;) {
      try {
        continue;
        return; } 
      catch (Throwable t) { continue; }
    }
  }