Another solution is to use functions - and that deals with the problem
of "return" in an action as well.
action() { ... the true production ... }
action_exception() { switch (action()) { ... exceptions ... } }
action_finally() { action_exception(); ... finally ... }
Nothing fancy - just do it.