Source code

Revision control

Copy as Markdown

Other Tools

load(libdir + "asserts.js");
var g = newGlobal({newCompartment: true});
var dbg = Debugger(g);
g.eval(`
async function f() {
return e;
}
`);
// Just continue
dbg.onExceptionUnwind = function(frame) {
return undefined;
};
g.eval(`
var E;
f().catch(e => { exc = e });
drainJobQueue();
assertEq(exc instanceof ReferenceError, true);
`);
// Return with resumption value.
dbg.onExceptionUnwind = function(frame) {
return {
return: 10
};
};
var val = g.eval(`
var val;
f().then(v => { val = v });
drainJobQueue();
val;
`);
assertEq(val, 10);