在我的Flutter 翼项目中,我只是像这样使用Firebase:

//main.dart
Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );

  FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;
  PlatformDispatcher.instance.onError = (error, stack) {
    FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
    return true;
  };

  runApp(MyApp());
}

看起来firebase只能在使用like时捕获崩溃

 final result = await someThrowErrorFunctions;

但如果我处理任何功能,如:

try {
  final result = await someThrowErrorFunctions;     
} catch (e) {
  print('error:$e');
}

应用程序不会崩溃,但我无法在Firebase中捕获错误,并且我不会知道有错误,对吗?

如果我不想崩溃,同时我可以用Firebase捕捉错误,这是可能的吗?正确的用法是什么?

任何帮助都将不胜感激,谢谢~

推荐答案

我建议您查看reporting caught exceptions的文档,这就是您在这里try 的内容. 它看起来像这样:

try {
  final result = await someThrowErrorFunctions;     
} catch (e) {
  await FirebaseCrashlytics.instance.recordFlutterError(e);
}

Flutter相关问答推荐

如何在Firebase项目中更改包名称和包ID

Flutter OpenID Connect无效参数:redirect_uri using Keycloak

在LinkedIn上分享Fighter和Web的链接会产生不同的结果

GetConnect Post API调用在Flutter Web中不起作用说:415不支持的媒体类型

如何在不注销的情况下刷新Firebase身份验证用户

SingleChildScrollView在ErrorWidget.builder中不工作

在Dart中使用Riverpod代码生成时出现问题(addListener)

打开键盘时屏幕组件会被压扁

如何从另一个页面访问 Firebase 值?

Flutter - 如何将按钮对齐到行的右侧

从子类调用超类的超方法

如何在 GridView.builder 中设置 textform 字段并在 flutter 中将 12 个 textformfield 作为单个字符串获取?

Flutter - 定义按钮的优雅方式

扩展磁贴尾随图标在与一个磁贴交互时更新列表中的所有内容.如何只更改展开图块的图标?

Flutter如何从左到右连续 Select 多个列表项而不跳过任何

Flutter 本地通知在最新版本中不起作用

Flutter NavigationBar 忽略我的背景 colored颜色

Flutter Desktop,如何获取windows用户配置文件名称?

在 Flutter Bloc 中具有称为 status 的属性的一种状态或不同的状态,哪个更可取?

在另一个页面编辑数据后更新 Flutter 页面的惯用方法?