firebase - FirebaseFirestoreException 何时抛出?
问题描述
我想知道什么时候FirebaseFirestoreException
抛出?我在这里阅读了文档,但看不到任何解释。我已经运行了 som 测试,例如断开 Internet,但评估:
if (e != null)
从来都不是真的。我认为断开互联网会使听众停止工作并且不会触发它Event
什么FirebaseFirestoreException
时候被抛出?我在哪里可以读到这个,代码?
final DocumentReference docRef = db.collection("cities").document("SF");
docRef.addSnapshotListener(new EventListener<DocumentSnapshot>() {
@Override
public void onEvent(@Nullable DocumentSnapshot snapshot,
@Nullable FirebaseFirestoreException e) {
if (e != null) {
Log.w(TAG, "Listen failed.", e);
return;
}
if (snapshot != null && snapshot.exists()) {
Log.d(TAG, "Current data: " + snapshot.getData());
} else {
Log.d(TAG, "Current data: null");
}
}
});
解决方案
我已经运行了 som 测试,比如断开互联网连接,但评估从来都不是真的。
当您未连接到互联网时,不会抛出异常,因为 Cloud Firestore 设计为离线工作。在您未连接到 Firebase 服务器的情况下,向 Firestore 数据库写入数据或从中读取数据无论如何都不会被视为错误。这是默认行为。例如,当您执行不满足服务器上设置的规则的查询时,将引发异常。Firestore 安全规则将始终拒绝任何不允许的查询,因此将引发异常。您将收到的错误消息如下所示:
PERMISSION_DENIED:权限缺失或不足。
推荐阅读
- angular - Firebase AuthStateListener 未能触发功能
- .htaccess - htaccess 重写到可以或不能有 id 的页面
- python - 用前一行值减去当前行中的值并返回较大的值
- python-3.x - 为什么在 Python iter 中使用 print 函数时会出错?
- javascript - 基于javascript json变量构建d3折线图
- html - 表单对齐折叠成单行
- javascript - NPM 包深度依赖分离
- java - 是否有一个Java命令表示“如果按下任何按钮”?
- php - PHP:如果条件在 foreach 循环中不起作用
- java - 如何将 javax.activation.DataSource 添加到 App Engine 开发服务器?