Flutter:'onError' 在 runZoned 函数中被弃用

dex*_*dim 1 dart flutter

我在 main.dart 文件上使用最新的 Flutter v 1.17.1 和 Dart 2.8.2 版本时收到此错误消息,

'onError' 已弃用,不应使用。请改用 runZonedGuarded。尝试使用替换来替换已弃用成员的使用。

这是代码,

  runZoned<Future<Null>>(() async {
    runApp(MyApp());
  }, onError: (error, stackTrace) async {
    await FlutterCrashlytics().reportCrash(error, stackTrace, forceCrash: false);
  });
}
Run Code Online (Sandbox Code Playgroud)

有什么解决方案可以消除此错误消息?

BeH*_*ppy 5

你可以这样做:

runZonedGuarded(() async {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
}, (Object error, StackTrace stack) async {
  await FlutterCrashlytics().reportCrash(error, stackTrace, forceCrash: false);
});

Run Code Online (Sandbox Code Playgroud)