Flutter

Интеграция с Flutter

Обработчики Flutter Framework и платформы, контекст среды выполнения, режим сборки и показ через корневой Navigator.

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

Интеграция с Flutter

ark_error_manager_flutter подключает один принадлежащий приложению менеджер к глобальным обработчикам Flutter Framework и платформы. Пакет не предоставляет доступ к менеджеру через дерево виджетов и не добавляет зависимость от него в функциональные объекты.

Какая граница видит ошибку

Путь ошибкиВладелец перехватаАдаптер Ark
Необработанная асинхронная ошибка в Zone приложенияBootstrap приложенияmanager.onUncaughtZoneError
Ошибка построения, компоновки, отрисовки, обратного вызова или явный отчёт FrameworkFlutter FrameworkFlutterErrorManagerBinding через FlutterError.onError
Необработанная ошибка корневого Isolate вне обратного вызова FrameworkFlutter EngineFlutterErrorManagerBinding через PlatformDispatcher.onError
Необработанная ошибка дочернего IsolateВладелец IsolateIsolateErrorManagerBinding

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

Корневая композиция

text
ApplicationBootstrap
  ├── принадлежащая приложению Zone
  ├── ErrorManager
  ├── FlutterErrorManagerBinding
  ├── GlobalKey<NavigatorState>
  └── MaterialApp / CupertinoApp

Виджет сообщает об ошибке через штатный механизм Flutter. Presenter, UseCase, Repository, DataSource, Provider и виджеты не получают и не разрешают менеджер.

Изучите:

Для сборки нового Bootstrap используйте полное руководство Flutter.

После рабочей сборки до production необходимо принять три прикладных решения:

  1. отправляет ли сохранённый предыдущий обработчик данные во внешнюю систему;
  2. какой UI соответствует директивам passive, blocking и none;
  3. какие поля Flutter-контекста разрешено передавать через границу ErrorReporter после очистки.
ARKTELOS

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