(f)
| 58 | assertEquals(5, f({}, 'bar', 5).bar); |
| 59 | |
| 60 | function guard(f) { try { f(); } catch (o) { return o; } } |
| 61 | assertEquals('baz', guard(function() { throw 'baz'; })); |
| 62 | assertEquals(2, (function() { try { throw {}; } catch(e) {} finally { return 2; } })()); |
| 63 | assertEquals(1, guard(function() { try { throw 1; } finally { } })); |