Source code
Revision control
Copy as Markdown
Other Tools
// Error handling if parsing a resumption value throws.
var g = newGlobal({newCompartment: true});
var dbg = Debugger(g);
var rv;
dbg.onDebuggerStatement = stack => rv;
dbg.uncaughtExceptionHook = function (exc) {
assertEq(exc, "BANG");
return {return: "recovered"};
};
rv = {get throw() { throw "BANG"; }};
assertEq(g.eval("debugger; false;"), "recovered");
rv = new Proxy({}, {has() { throw "BANG"; }});
assertEq(g.eval("debugger; false;"), "recovered");