Разница между ошибкой перехвата в View или ScopedModel? - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть приложение с социальным входом.

Мне нужно показать диалог ошибки, если при входе в систему произошла ошибка Но я не знаю, где попробовать отловить ошибку:

  • in ScopedModel, затем передать информацию в View

или

  • в Просмотр .

У меня есть ScopedModel с кодом входа и Просмотр .

Например, в Просмотр :

child: RaisedButton(
  onPressed: () async {


      await loginModel.signInWithGoogle;

  },

ScopedModel

await _signInWithGoogle();

…

Future<void> _signInWithGoogle() async {

...

Мне нужно поймать PlatformException и показать пользователю закусочную с информацией:

on PlatformException catch (e) {    
    if (e.code == 'ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL') {
...
    }

Я должен поставить этот улов в Модель или в Вид ? Есть ли разница в дротике, где ошибка отлова?

Например, это (в Просмотр ):

child: RaisedButton(
  onPressed: () async {

try {
      await loginModel.signInWithGoogle;
} on PlatformException catch (e) {

отличается от (в ScopedModel ):

try {
  await _signInWithGoogle();
} on PlatformException catch (e) {
...