Изучение

ErrorCategory, ErrorSeverity и ErrorCaptureSource

Область возникновения, влияние на приложение и граница среды выполнения, которая зафиксировала ошибку.

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

ErrorCategory, ErrorSeverity и ErrorCaptureSource

ErrorAssessment содержит категорию и серьёзность. Источник перехвата принадлежит исходному ErrorOccurrence. Эти характеристики отвечают на разные вопросы и не должны выводиться друг из друга.

ErrorCategory: в какой области произошла ошибка?

Закрытый набор содержит domain, application, infrastructure, integration, framework, configuration, lifecycle и unknown. Приложение расширяет правила через упорядоченные реализации ErrorClassifier, а не через строковые категории.

ErrorSeverity: как ошибка влияет на приложение?

  • recoverable — одна операция завершилась неуспешно, но состояние осталось согласованным;
  • degraded — приложение продолжает работу с ограниченной функциональностью;
  • critical — подсистеме или области приложения требуется управляемое восстановление;
  • fatal — процесс или Isolate не может безопасно продолжать работу.

Свойства наподобие requiresApplicationTermination определяются extension для enum. Отдельный флаг не может противоречить ErrorSeverity.

ErrorCaptureSource: где ошибка была зафиксирована?

Возможные значения: zone, framework, platform, isolate и reported. Ошибка, о которой сообщил Flutter Framework, не обязательно критическая, а ошибка, перехваченная в Zone, — фатальная.

Классификаторы выполняются в порядке регистрации. Ошибку обрабатывает первый поддерживающий её ErrorClassifier. Завершающий DefaultErrorClassifier гарантирует оценку unknown/critical для всех остальных случаев.

ARKTELOS

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