var g = newGlobal();
var dbg = new Debugger(g);
g.debuggerGlobal = this;
var log;

dbg.onEnterFrame = function handleEnter(f) {
    log += '(';
    f.onPop = function handlePop(c) {
        log += ')';
        assertEq(c.throw, "election");
    };
};
dbg.onExceptionUnwind = function handleExceptionUnwind(f, x) {
    log += 'u';
    assertEq(x, "election");
};

log = '';
try {
    g.eval("try { throw 'election'; } finally { debuggerGlobal.log += 'f'; }");
} catch (x) {
    log += 'c';
    assertEq(x, 'election');
}
assertEq(log, '(ufu)c');