В Go, несомненно, сделано лучше, так как в нём исключения задвинуты в дальний угол для того, чтобы меньше злоупотреблять этим механизмом. Поскольку Go зарится и на область скриптового применения (написал-запустил-выкинул), то в нём исключения и другие неструктурные переходы и смотрятся более-менее уместно. Тут же и defer - это не может быть положительным свойством из общих рассуждений, это вопрос области применимости.