Wed, 31 Dec 2014 06:55:50 +0100
Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2
1 // |jit-test|
3 // If an exception unwind hook performs a forced return, and this calls an
4 // onPop handler that throws, the exception should not be handled in the
5 // current frame but propagated to the caller.
6 var g = newGlobal();
7 var dbg = new Debugger(g);
9 g.eval('function f() { try { var y; throw 123; } catch(e) { assertEq(0, 1); } }');
11 dbg.onExceptionUnwind = function(frame) {
12 frame.onPop = function() {
13 return {throw: 321};
14 }
16 return {return: 11};
17 };
19 try {
20 g.f();
21 assertEq(0, 1);
22 } catch(e) {
23 assertEq(e.toString().contains("321"), true);
24 }