Flutter 异常捕获&全局报错获取&runZone&FlutterError

Flutter 获取全局异常 并捕获 处理 直接上代码

void main() async {
// **runZoned** 会获取其他异常数据,测试感觉不适用,根据自己需求使用 
  runZonedGuarded(() async {
    // 获取框架异常 WidgetFlutterBinding用于与 Flutter 引擎交互
    WidgetsFlutterBinding.ensureInitialized();
    
    FlutterError.onError = (FlutterErrorDetails details) {
      // 异常上报 转发容易遗漏异常消息
      if ((details.exception) != null) {
        debugPrint("FlutterError-${details.exception}");
      }
    };
    // 运行app
    runApp(APP());
  }, (Object e, StackTrace s) {
    // 异常上报
    if (e != null) {
      debugPrint("runZonedGuarded-$e");
    }
  });
}

备注: 如果你的应用在runApp 中调用了 WidgetsFlutterBinding.ensureInitialized() 方法来进行一些初始化操作,则必须在runZonedGuarded中调用WidgetsFlutterBinding.ensureInitialized()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值