Назад

Архитектура · Средняя

Как спроектировать модель ошибок

Определить типы ошибок, формат ответа и правила логирования.

Архитектура: визуальный контекст этапа
Аудиопересказ пунктаПолная версия материала для прослушивания
Прослушано 0%
Скачать

Кратко: за 2 минуты

Определить типы ошибок, формат ответа и правила логирования. На выходе: формат ошибок документирован.

Главная пользаЕдиная модель ошибок упрощает frontend-интеграцию, поддержку и диагностику production-инцидентов.
Первое действиеРазделите validation, auth, business и system errors.
Готово, когдаФормат ошибок документирован.

Когда применять

Пункт относится к этапу «Архитектура». Его задача — определить границы решения и избежать случайного усложнения системы. Он нужен до передачи результата разработчикам, QA и команде эксплуатации: иначе команда рискует возвращать 500 на бизнес-ошибки.

ЦельЕдиная модель ошибок упрощает frontend-интеграцию, поддержку и диагностику production-инцидентов.
ДействиеРазделите validation, auth, business и system errors.
ПроверкаФормат ошибок документирован.

Что это дает

Единая модель ошибок упрощает frontend-интеграцию, поддержку и диагностику production-инцидентов. Это помогает связать работу с общей целью: надежная, безопасная и поддерживаемая система. Практический эффект виден, когда формат ошибок документирован.

Пошагово: как выполнить

  1. Разделите validation, auth, business и system errors.
  2. Опишите формат error response.
  3. Не раскрывайте чувствительные детали во внешнем ответе.

Критерии приемки

  • Формат ошибок документирован.
  • Коды ошибок стабильны.
  • Логи содержат диагностический контекст.

Типичные ошибки

  • Возвращать 500 на бизнес-ошибки.
  • Показывать stack trace пользователю.
  • Делать разные форматы ошибок в разных эндпоинтах.

Инструменты

OpenAPIProblem DetailsLoggerADRAPI contractлогированиемониторингрепозиторий

Пример

Плохой пример

Возвращать 500 на бизнес-ошибки.

Хороший пример

Учебный пример. Для неверного количества API возвращает стабильный код VALIDATION_ERROR, имя поля и request ID. Клиент принимает решение по коду, а не по русскому тексту; стек исключения остается в защищенном журнале.

Шаблон

Каталог кодов ошибок

Скачать рабочий лист этого урока

Выбрать рабочий шаблон

Рабочий артефакт

Architecture note

Каталог кодов ошибок

Учебный пример. Для неверного количества API возвращает стабильный код VALIDATION_ERROR, имя поля и request ID. Клиент принимает решение по коду, а не по русскому тексту; стек исключения остается в защищенном журнале.

  • Bounded context
  • Dependencies
  • Domain entities
  • Risk areas

Контроль качества

Артефакт

Карта границ сервиса

Метрика проверки

Формат ошибок документирован.

Когда пересматривать

После изменения контрактов, релизов, инцидентов, роста нагрузки и пересмотра архитектурных решений.

Что передать дальше

Контракт, ограничения, сценарии отказа, метрики, владельца сервиса и критерии готовности.

Перед отметкой выполнено: Формат ошибок документирован.

Как применять

Начинайте с границ ответственности и пользовательского сценария, который обслуживает система. Затем проверьте контракт, данные, отказоустойчивость, безопасность и наблюдаемость. Хороший backend-пункт фиксирует, что именно меняется, как это проверить и какие метрики покажут стабильность решения.

Короткие ответы

Частые вопросы

Зачем выполнять пункт «Как спроектировать модель ошибок»?

Единая модель ошибок упрощает frontend-интеграцию, поддержку и диагностику production-инцидентов. Это помогает связать работу с общей целью: надежная, безопасная и поддерживаемая система. Практический эффект виден, когда формат ошибок документирован.

С чего начать выполнение?

Разделите validation, auth, business и system errors.

Как понять, что пункт выполнен?

Формат ошибок документирован.

Какая ошибка чаще всего мешает результату?

Возвращать 500 на бизнес-ошибки.

Режим обучения

Тест по теме

Проверка понимания

Ответьте на вопросы по материалу и получите итоговый отчет: что понято хорошо, а что стоит перечитать.

0/4ответов выбрано
1. Какой главный результат должен дать пункт «Спроектировать модель ошибок»?
2. С какого действия логично начать выполнение?
3. Как понять, что тема действительно закрыта?
4. Какой ошибки стоит избегать в этой теме?

Для углубленного изучения

· Версия 2 · Обновлено

Независимая экспертная проверка не заявлена.

Что обновлено
  • — Обновлено: Название, Шаблон результата, Пример, Плохой пример, Заголовок поиска, Описание поиска, Поисковые фразы.

Материал предназначен для обучения. Адаптируйте рекомендации к внутренним регламентам компании и условиям проекта.

Предложить исправление через контакты Ariol