{ var foo = function() { try { return 1; } catch(err) { return 2; } finally { return 3; } } } { var foo = function() { try { return 1 } catch(err) { return 2 } finally { if(true) { return 3 } else { return 2 } } } } { var foo = function() { try { return 1 } catch(err) { return 2 } finally { return 3 } } } { var foo = function() { try { return 1 } catch(err) { return 2 } finally { return function(x) { return y } } } } { var foo = function() { try { return 1 } catch(err) { return 2 } finally { return { x: function(c) { return c } } } } } { var foo = function() { try { return 1 } catch(err) { return 2 } finally { throw new Error() } } } { var foo = function() { try { foo(); } finally { try { bar(); } finally { return; } } }; } { var foo = function() { label: try { return 0; } finally { break label; } return 1; } } { var foo = function() { a: try { return 1; } catch(err) { return 2; } finally { break a; } } } { var foo = function() { while (true) try {} finally { break; } } } { var foo = function() { while (true) try {} finally { continue; } } } { var foo = function() { switch (true) { case true: try {} finally { break; } } } } { var foo = function() { a: while (true) try {} finally { switch (true) { case true: break a; } } } } { var foo = function() { a: while (true) try {} finally { switch (true) { case true: continue; } } } } { var foo = function() { a: switch (true) { case true: try {} finally { switch (true) { case true: break a; } } } } }