function trySetProperty(o, p, v, strict) {
  function strictSetProperty()  {
    "use strict";
    o[p] = v;
  }
  try  {
      strictSetProperty();
  }  catch (e)  {
    return "throw";
  }
}

//var objs = [[0], [1]];
var objs = [{a: 0}, {a: 1}];

for (var i = 0, sz = objs.length; i < sz; i++) {
  var o = objs[i];
  var o2 = Object.preventExtensions(o);
  print(i +'  ' + o);
  assertEq(trySetProperty(o, "baz", 17, true), "throw", "object " + i);
}