gpt4 book ai didi

firebase - 无法登录 firebase 帐户会引发异常并停止 flutter 应用程序

转载 作者:IT王子 更新时间:2023-10-29 06:55:16 24 4
gpt4 key购买 nike

我在我的 Flutter 应用程序中实现了电子邮件和密码登录表单,但是当我无法登录时(例如,电子邮件格式错误或密码错误),应用程序抛出平台异常并且模拟器停止响应。

这是我的句柄登录函数:

Future<FirebaseUser> _handleLogin(String email, String password) async {
print(email);
print(password);
print(_firebaseUser);
try {
FirebaseUser user = await _firebaseAuth.signInWithEmailAndPassword(
email: email, password: password);
print("done logging in");
print(user.uid);
setState(() {
_firebaseUser = user;
});
print("new user set");
return user;
} catch (err) {
print(err.toString());
return null;
}
}

即使我使用了错误的密码,错误也不会打印到控制台。相反,VS 代码打开 message_codecs.dart 并给我一条错误消息。

这是我使用错误的密码登录时的错误信息:

Exception has occurred.
PlatformException(Error 17009, FIRAuthErrorDomain, The password is invalid or the user does not have a password.)

我是否以错误的方式进行了错误处理?在输入错误的密码或格式错误的电子邮件后,如何捕获错误并使应用程序继续运行?

最佳答案

在它之后使用finally

Future<FirebaseUser> _handleLogin(String email, String password) async {
print(email);
print(password);
print(_firebaseUser);
FirebaseUser user;
try {
user = await _firebaseAuth.signInWithEmailAndPassword(
email: email, password: password);
print("done logging in");
print(user.uid);

print("new user set");
return user;
} catch (err) {
print(err.toString());
}
finally {
if(user != null) {
//Log in was successfull!
setState(() {
_firebaseUser = user;
});

}
else {
//Log in was unsuccessfull!
}
}
}

关于firebase - 无法登录 firebase 帐户会引发异常并停止 flutter 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50361805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com