Рецепты
Завершить управляемый процесс
Остановить новые операции, отключить корневые обработчики, дождаться принятых Incident и корректно закрыть менеджер.
v0.1.0-dev.1Средний уровеньark_error_manager
Завершить управляемый процесс
CLI-процессы, рабочие Isolate, настольные оболочки, встраиваемые среды и тесты могут иметь настоящий жизненный цикл завершения.
Соблюдайте порядок:
- остановите приём функциональных операций;
- отключите привязки Isolate и Flutter;
- вызовите
flush, чтобы дождаться принятых Incident; - при необходимости отдельно закройте принадлежащие приложению ресурсы
ErrorReporter; - вызовите
closeу менеджера.
dart
flutterBinding?.detach();
isolateBinding?.detach();
await manager.flush();
await manager.close();
Привязки отключаются первыми, чтобы глобальный обработчик не передал новую работу закрывающемуся менеджеру. flush выполняет синхронизацию и не меняет состояние жизненного цикла; close завершает его необратимо.
После закрытия captureError возвращает false, а handleError завершается с StateError.