美文网首页
Flutter 处理错误

Flutter 处理错误

作者: 渚清与沙白 | 来源:发表于2024-08-06 14:52 被阅读0次

    Flutter 框架可以捕获运行期间的错误,包括构建期间、布局期间和绘制期间。

    • 所有 Flutter 的错误均会被回调方法 FlutterError.onError捕获。
    • dart层的异常可以使用runZonedGuarded
    • 原生的崩溃分析可以使用flutter_bugly插件。
    • 特定代码异常捕获使用try{...}catch(e){...}

    当构建期间发生错误时,回调函数 ErrorWidget.builder 会被调用,来生成一个新的 widget,用来代替构建失败的 widget。

    • debug 模式下会显示一个红色背景的错误页面
    • release 模式下会展示一个灰色背景的空白页面
    import 'dart:async';
    
    void main() {
      // 捕获 Flutter 框架中的异常
      FlutterError.onError = (FlutterErrorDetails details) {
        FlutterError.dumpErrorToConsole(details);
        // 在此处添加自定义日志记录逻辑,例如发送到远程日志服务器
        print('Caught by FlutterError.onError: ${details.exception}');
      };
    
      // 捕获 Dart 异常
      runZonedGuarded<Future<void>>(() async {
        runApp(MyApp());
      }, (Object error, StackTrace stack) {
        // 在此处添加自定义日志记录逻辑,例如发送到远程日志服务器
        print('Caught by runZonedGuarded: $error');
        print('Stack trace: $stack');
      });
    }
    
    

    相关文章

      网友评论

          本文标题:Flutter 处理错误

          本文链接:https://www.haomeiwen.com/subject/jujntjtx.html