> Just because a feature can be misused doesn't mean it's not legitimately useful.
The point isn't that it can't be useful.
In the real world, the amount of code I'm forced to understand that uses overly complicated abstractions is the issue. I'm glad one language finally took the opposite direction.
I've always been annoyed by the parallel control flow introduced by exceptions in any language. They are used so often in many languages where it doesn't feel necessary.
The fact that I don't even have to think if the function call I'm looking at can throw and if I should catch it or not outweighs everything.