0

用户界面代码:

try {
    authService.signInWithEmailAndPassword(
        emailController.text, passwordController.text);
} catch (error) {
    print("ui rethrow");
}

认证服务代码:

Future<User?> signInWithEmailAndPassword(
    String email,
    String password,) async {
        try {
            final credential = await _firebaseAuth.signInWithEmailAndPassword(
                email: email, password: password);
            return _userFromFirebase(credential.user);
        } catch (e) {
            print("service throw");
            rethrow;
        }
    }

我想将 FirebaseAuthException 从身份验证服务重新抛出到 UI,因此我可以向用户提示出错的地方,但 UI try-catch 块不会捕获重新抛出的错误。

为什么我的代码不起作用?

4

0 回答 0