Я использую пакет google_sign_in
, и я немного новичок в обработке ошибок. Я заключил две строки в оператор try / catch и получил исключение в VSCode, хотя и проверял наличие PlatformExceptions. Строка, которая дает мне ошибку, - это то, где я устанавливаю переменную googleSignInAccount
. Я пытался использовать Future#catchError
, но их тоже не везло. Что я делаю не так?
Код:
GoogleSignInAccount googleSignInAccount;
GoogleSignInAuthentication googleSignInAuthentication;
try {
googleSignInAccount = await userRepository.googleSignIn.signIn();
googleSignInAuthentication = await googleSignInAccount.authentication;
} on PlatformException catch (e) {
if (e.code == 'sign_in_canceled') {
print('sign in canceled');
return Future.error(e);
}
rethrow;
} on Exception {
print('an exception has occured');
}
final credential = GoogleAuthProvider.getCredential(
accessToken: googleSignInAuthentication.accessToken,
idToken: googleSignInAuthentication.idToken,
);