Erlang data is immutable, which make the exception handling logic quite easy
to reason. But Go is not, and the combination of statefulness + exception
is very messy. They just don't fit in any concurrency-oriented design.
In haskell's language, they are like exception monad on top of IO monad,
what the hell is that?
So it's better to discourage exception as much as possible. Nonetheless Go
do have panic/recover, which works exactly the same as throw/catch. Google
changed their names to make it looks as scary as possible.