Нет. Ну точнее не совсем. В спецификации языка это не описано, но это есть в FAQ по языку: И там как раз рассмотрена одна из распространённых ошибок, связанная с этим поведением интерфейсов: когда мы из функции возвращаем ссылку на объект нашей кастомной ошибки. Данная ссылка, в свою очередь, может быть nil, если ошибка в функции не произошла. И, когда происходит преобразование нашего объекта кастомной ошибки к интерфейсу error, этот новый преобразованный объект уже никогда больше не будет равен nil, и все проверки if err != nil {} перестанут работать корректно.
С чего бы вдруг?
ну в жабе например создаются исключения и потом документируются и по названию классу ошибки можно понять из за чего она могла произойти
не совсем понял тут вопрос
Обсуждают сегодня