|
1 // |jit-test| |
|
2 |
|
3 // If a frame's onPop handler throws, we should not call the |
|
4 // onExceptionUnwind hook for that frame. |
|
5 var g = newGlobal(); |
|
6 var dbg = new Debugger(g); |
|
7 |
|
8 g.eval('function f() { var y; debugger; }'); |
|
9 |
|
10 dbg.onExceptionUnwind = function() { |
|
11 assertEq(0, 1); |
|
12 }; |
|
13 |
|
14 dbg.onDebuggerStatement = function handleDebugger(frame) { |
|
15 frame.onPop = function(c) { |
|
16 return {throw: 555}; |
|
17 } |
|
18 }; |
|
19 |
|
20 try { |
|
21 g.f(); |
|
22 assertEq(0, 2); |
|
23 } catch(e) { |
|
24 assertEq(e.toString().contains("555"), true); |
|
25 } |