美文网首页
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