Why does a return in `finally` override `return` value in `try` block?
Finally always executes. That’s what it’s for, which means its return value gets used in your case. You’ll want to change your code so it’s more like this: function example() { var returnState = false; // initialization value is really up to the design try { returnState = true; } catch { returnState = false; … Read more