Flutter 处理错误

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');
  });
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 无论我们的应用写得多么完美、测试得多么全面,总是无法完全避免线上的异常问题。 这些异常,可能是因为不充分的机型适配...
    半心_忬阅读 4,603评论 3赞 11
  • Flutter 异常 Flutter 异常指的是,Flutter 程序中 Dart 代码运行时意外发生的错误事件。...
    KB_MORE阅读 2,693评论 0赞 5
  • 一、Flutter异常与Crash Flutter异常指的是Flutter程序在运行时所抛出的异常分为: Dart...
    AlanGe阅读 3,061评论 0赞 3
  • 前言 为什么会有Flutter混编方案?其实这是一个很现实的问题。比如我们想要新写一个App,直接选用Flutte...
    楚丶liu香阅读 6,731评论 5赞 12
  • 一、flutter与原生通信,三种通道的区别 1.1 MethodChannel Flutter与Native端相...
    耿宏达阅读 1,957评论 0赞 4

友情链接更多精彩内容