var count = 0; function f() { try { try { try { count += 2; } finally { count += 3; throw 3; } } catch(e) { count += 4; throw 4; } } finally { count += 5; try { count += 6; } catch(e) { count += 7; throw 123; } finally { count += 8; } count += 9; } count += 10; } for (var i=0; i<3; i++) { try { f(); assertEq(0, 1); } catch(e) { assertEq(e, 4); } } assertEq(count, 111);