Dart - FirebaseFirestore 异常处理

Ric*_*cky 5 exception dart firebase flutter

该文档对于使用 firebase firestore 时的异常处理非常缺乏。我假设没有这样的东西来处理特定的错误。

我目前正在使用最新的依赖项:

  • firebase_core:^0.5.0
  • firebase_auth:^0.18.0+1
  • 云火存储:^0.14.0+2

在 firebase_auth 上,它有很好的文档记录,并且直接说明了如何处理异常。有一个名为的异常类FirebaseAuthException,它有一个code包含特定错误代码的字段(不幸的是作为字符串,但至少它提供了一些东西),例如invalid-emailuser-disabledweak-password等。这是一个很好的选择,因为我可以通知用户出了什么问题,并且程序可以根据这些错误代码采取相应的行动。

另一方面,不幸的是没有这样的东西,FirebaseFirestoreException而且文档也没有多大帮助。它仅显示了.catchError()使用带有类型的错误变量来处理可能的异常,dynamic因此它基本上可以是任何东西。

Future<void> addUser() {
  // Call the user's CollectionReference to add a new user
  return users
      .add({
        'full_name': fullName,
        'company': company,
        'age': age
      })
      .then((value) => print("User Added"))
      .catchError((error) => print("Failed to add user: $error"));
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是是否有任何东西或类似的东西可以处理特定的异常情况,例如FirebaseAuthException一些错误代码之类的东西。此外,我如何识别它是否是 FirebaseFirestore 异常?为什么它不提供例外以使开发人员感到更舒服?或者我错过了重点?请告诉我。

有关带有 flutter 的 firebase firestore 的文档:https ://firebase.flutter.dev/docs/firestore/usage