try { new Error() } catch (e) {} const N = 18; var arr = []; for (var i = 0; i < N; ++i) arr[i] = 'a'; arr[N] = '%'; function inner(i) { decodeURI(arr[i]); } function outer() { for (var i = 0; i <= N; ++i) inner(i); } var caught = false; try { outer(); } catch (e) { caught = true; } assertEq(caught, true);