これはfirebaseを使った電話番号認証のための関数で、 _signInWithPhoneはストリームです。
void signInWithPhone() {
emit(state.copyWith(status: FormzStatus.submissionInProgress));
try {
_phoneNumberSignInSubscription = _signInWithPhone(
phoneNumber: state.phone.value, timeout: verificationCodeTimeout)
.listen((event) {
emit(
state.copyWith(verificationId: event),
);
});
} on PhoneAuthError catch (e) {
emit(state.copyWith(
status: FormzStatus.submissionFailure, errorMessage: e.toString()));
} catch (_) {
emit(state.copyWith(status: FormzStatus.submissionFailure));
}
try/catch ブロックなしでエラーを処理する最善の方法。try/catch ブロックを使用すると、期待どおりにエラーをキャッチできないと思います。Pls はより良いアプローチを提案し、Flutter Bloc/Cubit で効率的に動作するはずです。前もって感謝します