evrone / go-clean-template

Clean Architecture template for Golang services
MIT License
6.23k stars 522 forks source link

Обработка ошибок #197

Open Fristorg97 opened 1 year ago

Fristorg97 commented 1 year ago

Возникают ситуации когда в обработчик (handler) в результате выполнения логики приложения возвращается ошибка, которая опознаётся и обрабатывается соответствующим образом.

Где лучше хранить кастомные ошибки(унифицированные тексты ошибки. Например: ошибка валидации)? В отедльном пакете, или рядом с энтити или юзкейсом?

Хэндлер зачастую возвращает с описанием ошибки её код (унифицированное представление ошибки в виде строки, для обработки на клиенте отдельных случаев(ошибка валидации логина и т.п)). Код возвращаемой ошибки представлен в виде константы. Где хранить эту константу, рядом с хэндлером или на более глубоком уровне?

В примерах не очень сильно раскрыта ситуация хранения кастомных ошибок. Удобней ли их хранить в отдельном пакете или рядом с местом где используется?