uncaughtExceptionHook-resumption-01.js (540B)
1 // uncaughtExceptionHook returns a resumption value. 2 3 load(libdir + "asserts.js"); 4 5 var g = newGlobal({newCompartment: true}); 6 var dbg = new Debugger(g); 7 var rv; 8 dbg.onDebuggerStatement = function () { throw 15; }; 9 dbg.uncaughtExceptionHook = function (exc) { 10 assertEq(exc, 15); 11 return rv; 12 }; 13 14 // case 1: undefined 15 rv = undefined; 16 g.eval("debugger"); 17 18 // case 2: throw 19 rv = {throw: 57}; 20 var result; 21 assertThrowsValue(function () { g.eval("debugger"); }, 57); 22 23 // case 3: return 24 rv = {return: 42}; 25 assertEq(g.eval("debugger;"), 42);