Изучение
Изучение Ark Error Manager
Владение на уровне приложения, типизированная оценка, упорядоченная обработка, очистка данных, отчётность, показ пользователю и восстановление.
Изучение Ark Error Manager
Ark Error Manager предоставляет приложению единую точку, в которой определяется значение исключительной ситуации и выбирается дальнейшее действие. Пакет не подменяет типизированные бизнес-результаты, локальное восстановление и обычное распространение ошибок Dart.
Начните с решения, а не с исключения
Пакет предназначен для ошибок, достигших границы приложения и требующих согласованного решения. Для каждой перехваченной ошибки последовательно ответьте на четыре вопроса:
- Можно восстановить текущую операцию локально? Восстановите её и верните обычный типизированный результат.
- Решение должен принять вызывающий код? Преобразуйте ошибку или передайте её выше, сохранив стандартное распространение.
- Ошибка достигла границы приложения? Позвольте настроенной Zone, обработчику Flutter или привязке Isolate передать её менеджеру.
- Локальный код обязан поглотить ошибку, но приложению всё равно нужно принять решение? Намеренно передайте её менеджеру ровно один раз.
Object + StackTrace
↓ перехват в ErrorOccurrence
Classifier → ErrorAssessment
ErrorContextProvider → ограниченные локальные сведения
Policy → независимые решения об отчёте, показе и восстановлении
Sanitizer → безопасный для экспорта ErrorReport
ErrorReporter получает ErrorReport; показ и восстановление остаются внутри приложения
Такое разделение предотвращает две распространённые ошибки: превращение каждого отрицательного результата в ErrorIncident и внедрение ErrorManager во все функции вместо стандартного распространения ошибок.
Объекты одной цепочки обработки
| Объект | Назначение | Доступность |
|---|---|---|
ErrorOccurrence | Перехваченная ошибка, StackTrace, источник и операция | Только приложение |
ErrorAssessment | Типизированные категория и Severity | Только приложение |
ErrorIncident | Исходная ошибка, оценка, контекст и план действий | ErrorPresenter и ErrorRecoveryController |
ErrorActionPlan | Независимые директивы отчёта, показа и восстановления | Только приложение |
ErrorReport | Очищенная экспортная модель | Граница ErrorReporter |
Рекомендуемый порядок
- Владение и границы — почему менеджер принадлежит корню композиции и не передаётся функциональным объектам.
- Модель оценки — различия между
ErrorCategory,ErrorSeverityиErrorCaptureSource. - Упорядоченная цепочка обработки — путь от перехвата до контекста, политики, очистки, отчётности, показа пользователю и восстановления.
- Выбор правильного пути обработки — ожидаемые результаты, локальное восстановление,
rethrow, корневой перехват и намеренная передача менеджеру.
После этого соберите полную интеграцию Dart или Flutter и изучите раздел «Безопасность» перед подключением внешнего ErrorReporter.
Если термины на странице оценки пока выглядят абстрактно, продолжите с упорядоченной цепочки обработки, сопоставляя этапы с таблицей выше. В руководствах затем показано, где каждый объект возникает в работающем приложении.
Ошибки валидации, отклонённые Command, отсутствие необязательных данных и другие штатные отрицательные результаты должны оставаться типизированным результатом или состоянием. Передавайте ошибку в Ark Error Manager, только если требуется прикладное решение о диагностике, показе пользователю или восстановлении.