Zen*_*nko 11 firebase flutter google-cloud-firestore
所以我试图捕捉“无网络”错误。
我正在听 Firestore 中的文档,如下所示:
final docRef = FirebaseFirestore.instance.collection(kInfoCollection).doc(kInfoDocument);
docSubscription = docRef.snapshots().distinct().listen((_) {});
docSubscription.onData((snapshot) => _processInfo(snapshot))
docSubscription.onError((e, s) {
final errorMessage = 'Message:\n$e \nThe Stack was:\n$s';
print('Error $errorMessage');
throw InfoException(errorMessage);
});
Run Code Online (Sandbox Code Playgroud)
如您所见,侦听器正在侦听文档,如果捕获到任何文档,则会抛出错误。
但是没有发现控制台中显示的这些 Firebase 错误:
Connection 1: encountered error(1:53)
6.26.0 - [Firebase/Firestore][I-FST000001] WatchStream (283fb4118) Stream error: 'Unavailable: Network connectivity changed'
6.26.0 - [Firebase/Firestore][I-FST000001] WatchStream (283fb4118) Stream error: 'Unavailable: DNS resolution failed'
6.26.0 - [Firebase/Firestore][I-FST000001] WatchStream (283fb4118) Stream error: 'Unavailable: DNS resolution failed'
6.26.0 - [Firebase/Firestore][I-FST000001] WatchStream (283fb4118) Stream error: 'Unavailable: failed to connect to all addresses'
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
附加信息:我通过在手机上进入飞行模式来模拟这一点。否则没有错误。
关于这个问题,您可能会发现这个有趣:how to catch error in firestore when no internet
这似乎是一种正常行为,以避免仅仅因为暂时没有连接而破坏应用程序。
我希望这会对您有所帮助,即使这个问题已经存在 7 个月了。