颤振//我能';t捕获异常(Firebase应用程序)

颤振//我能';t捕获异常(Firebase应用程序),firebase,flutter,dart,firebase-authentication,Firebase,Flutter,Dart,Firebase Authentication,我有一个大问题,但我知道这对人类来说很小。我正在用Flatter在Firebase上尝试电子邮件和密码验证。 但我总是有例外。(PlatformException和FirebaseAuthException)。 ` ` 另外,我正在使用getX包。我什么都试过了,但没能抓住例外。当我从UI调用此方法时,SDK(VSCode)会暂停调试应用程序并以红色警报显示异常 我阅读了很多关于这种情况的文档,但找不到解决方案。好的,您可以在使用Email和Password登录后尝试使用catch方法,如下所示

我有一个大问题,但我知道这对人类来说很小。我正在用Flatter在Firebase上尝试电子邮件和密码验证。 但我总是有例外。(PlatformException和FirebaseAuthException)。 `

`

另外,我正在使用getX包。我什么都试过了,但没能抓住例外。当我从UI调用此方法时,SDK(VSCode)会暂停调试应用程序并以红色警报显示异常


我阅读了很多关于这种情况的文档,但找不到解决方案。

好的,您可以在
使用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}");
}