Я внедряю форму входа по электронной почте и пароль в моем приложении, но когда мне не удается войти (например, неправильно отформатированный адрес электронной почты или неверный пароль), приложение выдает исключение платформы, и симулятор перестает отвечать на запросы.
Вот моя функция входа в систему:
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.)
Я неправильно обрабатываю ошибки? Как я могу уловить ошибку и заставить приложение продолжить работу после ввода неверного пароля или неправильно отформатированного электронного письма?