Firebase 当用户不';您没有足够的权限写入数据库吗?

Firebase 当用户不';您没有足够的权限写入数据库吗?,firebase,flutter,dart,google-cloud-firestore,error-handling,Firebase,Flutter,Dart,Google Cloud Firestore,Error Handling,当我试图用一个没有写入权限的用户帐户写入数据库时,我得到了预期的异常 发生异常。 PlatformException(PlatformException(firebase_firestore,com.google.firebase.firestore.firestore.firebase firestoreException:PERMISSION_DENIED:缺少或权限不足.,{代码:PERMISSION DENIED,消息:调用方没有执行指定操作的权限。})) 但我没能抓住它 调用此方法会导

当我试图用一个没有写入权限的用户帐户写入数据库时,我得到了预期的异常

发生异常。 PlatformException(PlatformException(firebase_firestore,com.google.firebase.firestore.firestore.firebase firestoreException:PERMISSION_DENIED:缺少或权限不足.,{代码:PERMISSION DENIED,消息:调用方没有执行指定操作的权限。}))

但我没能抓住它

调用此方法会导致异常

Future<void> addRecord(Product product) async {
    try {
      await FirebaseFirestore.instance
          .collection("products")
          .doc()
          .set(product.toMap())
          .catchError((err) {
        print("error is" + err.toString());
      });
    } on PlatformException catch (e) {
      print("eee" + e.toString());
    }
  }
Future addRecord(产品)异步{
试一试{
等待FirebaseFirestore.instance
.收集(“产品”)
.doc()
.set(product.toMap())
.catchError((err){
打印(“错误为”+err.toString());
});
}平台上异常捕获(e){
打印(“eee”+e.toString());
}
}
我相信在控制台中捕获到此异常,我收到以下消息:

eee[云存储/权限被拒绝]调用方没有执行指定操作的权限

但控制台中还有一条消息

W/Firestore(12930):(21.4.3)[Firestore]:在产品/SPeUO9260uCoIfpDsSag处写入失败:状态{code=PERMISSION\u DENIED,description=Missing或permissions.,cause=null}


我想你正在使用。在这种情况下,要正确捕获,存在
catchError
,而只是
catch
。也许这可以帮助您正确捕获错误。即使添加了catchError,我仍然会得到相同的异常。我在这里有相同的问题,但是通过使用流。多亏了这一点,我永远不会得到回复,因为在.catchError之前的某个地方,这已经得到了处理。我假设您正在使用。在这种情况下,要正确捕获,存在
catchError
,而只是
catch
。也许这可以帮助您正确捕获错误。即使添加了catchError,我仍然会得到相同的异常。我在这里有相同的问题,但是通过使用流。多亏了这一点,我永远不会得到回复,因为在.catchError之前的某个地方,这已经得到了处理。