runFlutterInZoneGuardedWithLogging method

Future<void>? runFlutterInZoneGuardedWithLogging(
  1. FutureCallback onRun, {
  2. void onError(
    1. Object,
    2. StackTrace
    )?,
  3. Map<Object?, Object?>? zoneValues,
  4. ZoneSpecification? zoneSpecification,
})

Implementation

Future<void>? runFlutterInZoneGuardedWithLogging(
  FutureCallback onRun, {
  void Function(Object, StackTrace)? onError,
  Map<Object?, Object?>? zoneValues,
  ZoneSpecification? zoneSpecification,
}) {
  return runZoneGuardedWithLogging(
    () async {
      /// We must call WidgetsFlutterBinding.ensureInitialized() inside
      /// runZonedGuarded. Error handling wouldn’t work if
      /// WidgetsFlutterBinding.ensureInitialized() was called from the outside.
      WidgetsFlutterBinding.ensureInitialized();

      return onRun();
    },
    onError: onError,
    zoneValues: zoneValues,
    zoneSpecification: zoneSpecification,
  );
}