Изучение
Упорядоченная цепочка обработки
Оценка, контекст, политика, очистка, отчётность, показ пользователю, восстановление и наблюдение.
Упорядоченная цепочка обработки
Один менеджер последовательно обрабатывает принятые ErrorOccurrence. Медленный ErrorReporter не позволит более позднему ErrorIncident обогнать предыдущий; два блокирующих показа от одного менеджера также не выполняются одновременно.
capture
→ classify
→ collect context
→ plan actions
→ sanitize
→ report
→ present
→ recover
→ notify completion
ErrorPolicy создаёт один ErrorActionPlan с независимыми директивами:
- reporting:
skipилиrecord; - presentation:
none,passiveилиblocking; - recovery:
none,resetScope,resetApplicationилиterminate.
ErrorSanitizer создаёт ErrorReport до вызова любого ErrorReporter. ErrorPresenter и ErrorRecoveryController остаются внутри приложения и могут работать с исходным ErrorIncident; внешний объект отчётности такого доступа не получает.
Планирование и синхронизация
captureError ставит обработку в очередь и возвращает признак принятия. handleError возвращает Future операции. flush ожидает уже поставленную работу, не закрывая менеджер. close опустошает очередь и необратимо завершает жизненный цикл.
Ошибки внутри цепочки
Каждая точка расширения изолирована. Если один ErrorReporter выбросит ошибку, следующие продолжат работу с исходным очищенным отчётом. Внутренняя ошибка передаётся напрямую в ErrorPipelineFailureHandler и не возвращается в тот же менеджер как новый ErrorIncident.