Рецепты

Завершить управляемый процесс

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

v0.1.0-dev.1Средний уровеньark_error_manager

Завершить управляемый процесс

CLI-процессы, рабочие Isolate, настольные оболочки, встраиваемые среды и тесты могут иметь настоящий жизненный цикл завершения.

Соблюдайте порядок:

  1. остановите приём функциональных операций;
  2. отключите привязки Isolate и Flutter;
  3. вызовите flush, чтобы дождаться принятых Incident;
  4. при необходимости отдельно закройте принадлежащие приложению ресурсы ErrorReporter;
  5. вызовите close у менеджера.
dart
flutterBinding?.detach();
isolateBinding?.detach();
await manager.flush();
await manager.close();

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

После закрытия captureError возвращает false, а handleError завершается с StateError.

ARKTELOS

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