UI コード:
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;
}
}
認証サービスから UI に FirebaseAuthException を再スローしたいので、何が問題なのかをユーザー プロンプトに表示できますが、UI の try-catch ブロックは再スローされたエラーをキャッチしません。
コードが機能しないのはなぜですか?