LINUX.ORG.RU

История изменений

Исправление theNamelessOne, (текущая версия) :

Ты понимаешь, что внутри этого check там неявный return, и никакого «автоматического проброса исключений» там нету? Что этот check внутри do_something работает за счёт неявного блока handle, который автоматически добавляется внутрь do_something и возвращает ошибку? Что если ты не напишешь check в do_something, никакого проброса не будет? Как это подтверждает твою точку зрения, что в «Go 2 добавили исключения»?

С таким успехом можно сказать, что монады в Haskell - это исключения (там есть и настоящие исключения), как и тип Result с сахарком ?/try! в Rust.

Исходная версия theNamelessOne, :

Ты понимаешь, что внутри этого check там неявный return, и никакого «автоматического проброса исключений» там нету? Что этот check внутри do_something работает за счёт неявного блока handle, который автоматически добавляется внутрь do_something и возвращает ошибку? Как это подтверждает твою точку зрения, что в Go 2 добавили исключения?

С таким успехом можно сказать, что монады в Haskell - это исключения (там есть и настоящие исключения), как и тип Result с сахарком ?/try! в Rust.