Обработка ошибок
Ошибки — ожидаемое состояние системы. UI должен обрабатывать их предсказуемо, без падения приложения и без утечки технических деталей.
Общие принципы
MUST
- Ошибка не приводит к крашу приложения.
- UI корректно обрабатывает ошибочные состояния.
- Обработка ошибок — часть архитектуры интерфейса, а не "после релиза".
FORBIDDEN
- Показывать stack trace.
- Отображать raw сообщения из back-end API.
- Раскрывать технические детали, не адаптированные под пользовательский контекст.
Уровни отображения ошибок
Ошибка показывается на уровне UI, соответствующем области влияния.
Уровни
- Локальный — ошибка ограничена элементом интерфейса (поле формы, кнопка).
- Модульный — ошибка влияет на часть страницы или функциональный блок.
- Глобальный — ошибка влияет на работу страницы или приложения в целом.
MUST
- Выбирать минимально достаточный уровень.
- Эскалировать уровень только если локально нельзя восстановиться.
Примеры
| Уровень | Где показываем | Пример |
|---|---|---|
| Локальный | рядом с полем | неверный email |
| Модульный | внутри блока | ошибка загрузки списка |
| Глобальный | layout/страница | просроченная сессия |
Разделы документации
- Классификация ошибок — категории, статусы, единая модель
- UI-паттерны — error boundaries, inline, toast
- Надёжность и UX — retry, сохранение ввода, локализация, MVP