var global = 0;

function foo(i) {
  global = i;
  if (global == 8) {
    eval("global = 'three'");
    throw global;
  }
}

var caught = false;
try {
  for (var i = 0; i < 10; i++) {
    Array.map([i], foo);
 }
} catch (e) { caught = true; }

assertEq(caught, true);
assertEq(global, 'three');