public class ExceptionExtensions {
public static Object on_do_(Block0<Object> receiver,
Object exceptionSelector, Object exBlock) {
Object marker = new Object();
ExceptionHandler handler = ExceptionStack.addHandler(receiver,
exceptionSelector, exBlock, marker);
try {
return receiver.value();
} catch (NonLocalReturn nlr) {
if (nlr.marker == marker) {