颤振//我能';t捕获异常(Firebase应用程序)
我有一个大问题,但我知道这对人类来说很小。我正在用Flatter在Firebase上尝试电子邮件和密码验证。 但我总是有例外。(PlatformException和FirebaseAuthException)。 ` ` 另外,我正在使用getX包。我什么都试过了,但没能抓住例外。当我从UI调用此方法时,SDK(VSCode)会暂停调试应用程序并以红色警报显示异常颤振//我能';t捕获异常(Firebase应用程序),firebase,flutter,dart,firebase-authentication,Firebase,Flutter,Dart,Firebase Authentication,我有一个大问题,但我知道这对人类来说很小。我正在用Flatter在Firebase上尝试电子邮件和密码验证。 但我总是有例外。(PlatformException和FirebaseAuthException)。 ` ` 另外,我正在使用getX包。我什么都试过了,但没能抓住例外。当我从UI调用此方法时,SDK(VSCode)会暂停调试应用程序并以红色警报显示异常 我阅读了很多关于这种情况的文档,但找不到解决方案。好的,您可以在使用Email和Password登录后尝试使用catch方法,如下所示
我阅读了很多关于这种情况的文档,但找不到解决方案。好的,您可以在
使用Email和Password登录后尝试使用catch
方法,如下所示:
void signInUser(String email, String password) async {
try {
if (_auth.currentUser == null) {
User _oturumAcanUser = (await _auth.signInWithEmailAndPassword(
email: email, password: password)
// Here, you can handle the error!
.catchError((error) {
print("The error message is: ${error.message}");
Get.snackbar("başlık", error.message);
})
.user;
Get.to(HomeScreen());
Get.snackbar("Oturum açıldı", "message");
} else {
Get.snackbar("Oturum zaten açık", "message");
Get.to(HomeScreen());
}
} on PlatformException catch (e) {
_error = e.message;
Get.snackbar("başlık", e.message);
throw e;
} catch (e) {
_error = e.toString();
Get.snackbar("başlık", e.message);
}
}
我只是做了这样的事情,解决了我的问题。我仍然不明白哪里有不同的东西。谢谢你的帮助。例外情况是什么?>当我从UI调用此方法时,SDK(VSCode)暂停调试应用程序并以红色警报显示异常。这只是某种FirebaseAuth异常。喜欢密码无效,已删除用户bla bla..这也不起作用,抱歉:/
void signInUser(String email, String password) async {
try {
if (_auth.currentUser == null) {
User _oturumAcanUser = (await _auth.signInWithEmailAndPassword(
email: email, password: password)
// Here, you can handle the error!
.catchError((error) {
print("The error message is: ${error.message}");
Get.snackbar("başlık", error.message);
})
.user;
Get.to(HomeScreen());
Get.snackbar("Oturum açıldı", "message");
} else {
Get.snackbar("Oturum zaten açık", "message");
Get.to(HomeScreen());
}
} on PlatformException catch (e) {
_error = e.message;
Get.snackbar("başlık", e.message);
throw e;
} catch (e) {
_error = e.toString();
Get.snackbar("başlık", e.message);
}
}
void signInUser(String email, String password) async {
try {
if (_auth.currentUser == null) {
User _oturumAcanUser = (await _auth.signInWithEmailAndPassword(
email: email, password: password))
.user;
Get.off(HomeScreen());
Get.snackbar("Oturum açıldı", "message", backgroundColor: Colors.teal);
} else {
Get.off(HomeScreen());
}
} on FirebaseAuthException catch (e) {
_error = e.code;
Get.snackbar("Giriş Yapılırken Hata",
"Giriş ypaılırken hata ile karşılaşıldı. Kod: ${e.code}",
snackPosition: SnackPosition.BOTTOM, snackStyle: SnackStyle.FLOATING);
throw e;
} catch (e) {
_error = e.toString();
Get.snackbar("Hata",
"Sunucu beklenmedik bir hata ile karşılaştı. Detaylı bilgi: ${e.message}");
}