description('Test that when the stack overflows, the exception goes to the last frame before the overflow'); var level = 0; var stackLevel = 0; var gotWrongCatch = false; function test1() { var myLevel = level; var dummy; try { level = level + 1; // Dummy code to make this funciton different from test2() dummy = level * level + 1; if (dummy == 0) debug('Should never get here!!!!'); } catch(err) { gotWrongCatch = true; } try { test2(); } catch(err) { stackLevel = myLevel; } } function test2() { var myLevel = level; // Dummy code to make this funciton different from test1() if (gotWrongCatch) debug('Should never get here!!!!'); try { level = level + 1; } catch(err) { gotWrongCatch = true; } try { test1(); } catch(err) { stackLevel = myLevel; } } test1(); shouldBeFalse("gotWrongCatch"); shouldBe("(stackLevel)", "(level - 1)");