handle: A Range that handles an Exception

When a Exception occurs inside a range chaining the whole chain dies usually. The Handle range fixes that, as it catches a defined exception and calls an user defined handler on it.
Why set it to `false` every time? Shouldn't it just be `false` until it gets set to `true` when it runs out of elements?

Also, why put this in a separate function with two loops? Couldn't `this.getFront()` be replaced with

    if (this.input.empty)
        break;
    this.frontElement = this.input.front;

and eliminate `getFront` entirely?