|
1 // Ensure that ScriptDebugEpilogue gets called when onExceptionUnwind |
|
2 // throws an uncaught exception. |
|
3 var g = newGlobal(); |
|
4 var dbg = Debugger(g); |
|
5 var frame; |
|
6 dbg.onExceptionUnwind = function (f, x) { |
|
7 frame = f; |
|
8 assertEq(frame.live, true); |
|
9 throw 'unhandled'; |
|
10 }; |
|
11 dbg.onDebuggerStatement = function(f) { |
|
12 assertEq(f.eval('throw 42'), null); |
|
13 assertEq(frame.live, false); |
|
14 }; |
|
15 g.eval('debugger'); |
|
16 |
|
17 // Don't fail just because we reported an uncaught exception. |
|
18 quit(0); |