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