function f() { f = function() { g(); }; f(); } g = f; var caught = false; try { f(); } catch(e) { caught = true; } assertEq(caught, true);