testErrorInFinalizerCalledWhileUnwinding.js (426B)
1 var finalizerRun = false; 2 var caught = false; 3 4 function foo(arr) { 5 finalizerRun = true; 6 return not_defined; 7 } 8 9 function* gen() { 10 try { 11 yield 1; 12 } finally { 13 foo(); 14 } 15 } 16 17 function test() { 18 var i_have_locals; 19 for (i of gen()) { 20 } 21 } 22 23 try { 24 test(); 25 } catch(e) { 26 caught = true; 27 assertEq(''+e, "ReferenceError: not_defined is not defined"); 28 } 29 30 assertEq(finalizerRun, true); 31 assertEq(caught, true);