Flutter:'onError' 在 runZoned 函数上已弃用

Posted

技术标签:

【中文标题】Flutter:\'onError\' 在 runZoned 函数上已弃用【英文标题】:Flutter : 'onError' is deprecated on runZoned functionFlutter:'onError' 在 runZoned 函数上已弃用 【发布时间】:2020-05-29 03:57:38 【问题描述】:

我在 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);
  );

有什么办法可以消除这个错误信息吗?

【问题讨论】:

【参考方案1】:

你可以这样做:

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

【讨论】:

以上是关于Flutter:'onError' 在 runZoned 函数上已弃用的主要内容,如果未能解决你的问题,请参考以下文章

将哨兵添加到Flutter的正确方法

Flutter 中的Error的捕获及处理

flutter 自动刷新token

如何恢复 FlutterError.onError?

onerror事件

SSIS onerror 事件。执行 SQL 任务就坐在那里