Как научить сервис сообщать об ошибке, чтобы это было понятно пользователям, машинам / А.Лырчиков
HTML-код
- Опубликовано: 26 авг 2024
- Приглашаем на конференцию Saint HighLoad++ 2024, которая пройдет 24 и 25 июня в Санкт-Петербурге!
Программа, подробности и билеты по ссылке: vk.cc/cuyIqx
--------
Профессиональная конференция для Go-разработчиков
Презентация и тезисы:
golangconf.ru/...
Никаких happy path! Рассказ о том, как нам перестало хватать баннера «Что-то пошло не так» и как мы учились сообщать пользователю об ошибках во время выполнения запроса в системе хранения данных. Мы рассмотрим средства для работы с ошибками в Go...
--------
Нашли ошибку в видео? Пишите нам на support@ontico.ru
Спасибо за то, что поделились докладом. Сообщение об ошибках кажется простой на первый взгляд, но все сложнее внутри.
Вместро внедрения структур для передачи аргументов проще заменить map[string]interface{} на map[string]string, что решит проблему маршаллинга. Также стоит добавить классы/типы ошибок в структуру ошибки, чтобы можно было делать проверки аргументов в зависимости от типа/класса ошибки. Также разумно вставить в ошибку информацию об источнике ошибки.
Создавать описание ошибки на основе структуры -- зрелище не для слабонервных. Лучше использовать опционные функторы. Так строитель ошибки выглядит менее многословным, красивее и более читаемым.
про problem deltail не слышали и как принято в го, изобретаем свой велосипед