If you run the code below it actually executes the finally after every call to the goto:
int i = 0; Found: i++; try { throw new Exc
Because a finally statement is expected to execute after leaving the try (or catch when an exception is caught). This includes when you make your goto call.
finally
try
catch