bug1519700.js (394B)
1 function* wrapNoThrow() { 2 let iter = { 3 [Symbol.iterator]() { 4 return this; 5 }, 6 next() { 7 return {}; 8 }, 9 return () {} 10 }; 11 for (const i of iter) 12 yield i; 13 } 14 function foo() { 15 l2: for (j of wrapNoThrow()) { 16 for (i of [1, 2, 3]) 17 break l2; 18 return false; 19 } 20 } 21 try { 22 foo(); 23 } catch {}