如何从FirebaseAuthException正确捕获异常

如何从FirebaseAuthException正确捕获异常,firebase,flutter,dart,exception,firebase-authentication,Firebase,Flutter,Dart,Exception,Firebase Authentication,我的编辑器(Vs代码)一直捕获此异常,即使它已在我的代码中捕获。捕获异常后,代码工作正常 异常日志 “发生异常。PlatformException (平台异常(firebase_auth, com.google.firebase.auth.FirebaseAuthUserCollisionException: 已存在具有相同电子邮件地址但不同的帐户 登录凭据。使用与此关联的提供程序登录 电子邮件地址。{代码:存在具有不同凭据的帐户, 其他数据:{authCredential:{providerI

我的编辑器(Vs代码)一直捕获此异常,即使它已在我的代码中捕获。捕获异常后,代码工作正常

异常日志

“发生异常。PlatformException (平台异常(firebase_auth, com.google.firebase.auth.FirebaseAuthUserCollisionException: 已存在具有相同电子邮件地址但不同的帐户 登录凭据。使用与此关联的提供程序登录 电子邮件地址。{代码:存在具有不同凭据的帐户, 其他数据:{authCredential:{providerId:facebook.com, 签名方式:facebook.com,令牌:0000000},电子邮件:######@gmail.com}, 消息:已存在具有相同电子邮件地址的帐户,但 不同的登录凭据。请使用关联的提供程序登录 使用此电子邮件地址。},null))“

我的Facebook登录代码

Future<void> logInWithFaceBook() async {
    try {
      final FacebookLoginResult result = await _facebookLogin.logIn(['email']);
      final fbToken = result.accessToken.token;

      if (result.status == FacebookLoginStatus.loggedIn) {
        final facebookCredential =
            firebase_auth.FacebookAuthProvider.credential(fbToken);

        await _firebaseAuth.signInWithCredential(facebookCredential);
      }
    } on firebase_auth.FirebaseAuthException catch (e) {
      await fbLinkPendingCredential(e);
    }
  }
Future logInWithFaceBook()异步{
试一试{
最终FacebookLoginResult结果=等待_facebookLogin.logIn(['email']);
最终fbToken=result.accessToken.token;
if(result.status==FacebookLoginStatus.loggedIn){
最终facebook凭证=
firebase_auth.FacebookAuthProvider.credential(fbToken);
等待\u firebaseAuth.登录,使用凭证(facebookCredential);
}
}关于firebase_auth.FirebaseAuthException捕获(e){
等待fbLinkPendingCredential(e);
}
}

if(e.code==“帐户存在时具有不同的凭据”){///account exists}这就是fbLinkPendingCredential(e)函数中的内容,但是vscode仍然捕获异常,即使实际上不存在异常,因为我的代码捕获了它。我认为这是vscode中的一个bug。它很常见,即使我处理了这个异常,但调试器仍然捕获并暂停,但它不应该,我们应该打开一个bug报告,我猜哦,是的,我们应该这样做