Изучение

Изучение Ark Error Manager

Владение на уровне приложения, типизированная оценка, упорядоченная обработка, очистка данных, отчётность, показ пользователю и восстановление.

v0.1.0-dev.1Начальный уровень

Изучение Ark Error Manager

Ark Error Manager предоставляет приложению единую точку, в которой определяется значение исключительной ситуации и выбирается дальнейшее действие. Пакет не подменяет типизированные бизнес-результаты, локальное восстановление и обычное распространение ошибок Dart.

Начните с решения, а не с исключения

Пакет предназначен для ошибок, достигших границы приложения и требующих согласованного решения. Для каждой перехваченной ошибки последовательно ответьте на четыре вопроса:

  1. Можно восстановить текущую операцию локально? Восстановите её и верните обычный типизированный результат.
  2. Решение должен принять вызывающий код? Преобразуйте ошибку или передайте её выше, сохранив стандартное распространение.
  3. Ошибка достигла границы приложения? Позвольте настроенной Zone, обработчику Flutter или привязке Isolate передать её менеджеру.
  4. Локальный код обязан поглотить ошибку, но приложению всё равно нужно принять решение? Намеренно передайте её менеджеру ровно один раз.
text
Object + StackTrace
        ↓ перехват в ErrorOccurrence
Classifier → ErrorAssessment
ErrorContextProvider → ограниченные локальные сведения
Policy → независимые решения об отчёте, показе и восстановлении
Sanitizer → безопасный для экспорта ErrorReport
ErrorReporter получает ErrorReport; показ и восстановление остаются внутри приложения

Такое разделение предотвращает две распространённые ошибки: превращение каждого отрицательного результата в ErrorIncident и внедрение ErrorManager во все функции вместо стандартного распространения ошибок.

Объекты одной цепочки обработки

ОбъектНазначениеДоступность
ErrorOccurrenceПерехваченная ошибка, StackTrace, источник и операцияТолько приложение
ErrorAssessmentТипизированные категория и SeverityТолько приложение
ErrorIncidentИсходная ошибка, оценка, контекст и план действийErrorPresenter и ErrorRecoveryController
ErrorActionPlanНезависимые директивы отчёта, показа и восстановленияТолько приложение
ErrorReportОчищенная экспортная модельГраница ErrorReporter

Рекомендуемый порядок

  1. Владение и границы — почему менеджер принадлежит корню композиции и не передаётся функциональным объектам.
  2. Модель оценки — различия между ErrorCategory, ErrorSeverity и ErrorCaptureSource.
  3. Упорядоченная цепочка обработки — путь от перехвата до контекста, политики, очистки, отчётности, показа пользователю и восстановления.
  4. Выбор правильного пути обработки — ожидаемые результаты, локальное восстановление, rethrow, корневой перехват и намеренная передача менеджеру.

После этого соберите полную интеграцию Dart или Flutter и изучите раздел «Безопасность» перед подключением внешнего ErrorReporter.

Если термины на странице оценки пока выглядят абстрактно, продолжите с упорядоченной цепочки обработки, сопоставляя этапы с таблицей выше. В руководствах затем показано, где каждый объект возникает в работающем приложении.

Ошибки валидации, отклонённые Command, отсутствие необязательных данных и другие штатные отрицательные результаты должны оставаться типизированным результатом или состоянием. Передавайте ошибку в Ark Error Manager, только если требуется прикладное решение о диагностике, показе пользователю или восстановлении.

ARKTELOS

Инженерные системы для программного обеспечения, которое обязано выдерживать нагрузку.