Как отловить исключение FetchFailure во Flutter для URL-адресов изображений, которые 404? - PullRequest
0 голосов
/ 04 октября 2018

У меня есть что-то вроде этого:

try {
    final image = NetworkImageWithRetry(url,
        fetchStrategy: FetchStrategyBuilder(
            timeout: Duration(seconds: 2),
            transientHttpStatusCodePredicate: (code) {
              return code == null ||
                  FetchStrategyBuilder
                      .defaultTransientHttpStatusCodePredicate(code);
            }).build()
        );
      return Padding(
        padding: EdgeInsets.all(10.0),
        child: Image(
          image: image,
        ),
      );
  } catch FetchFailure {
    print('exception!');
    return Container();
  }

Для несуществующего изображения, оно пытается загрузить несколько раз и всегда выдает:

EXCEPTION CAUGHT BY PACKAGE:FLUTTER_IMAGE
The following FetchFailure was thrown NetworkImageWithRetry failed to load

Как пойматьэтот?Я пытался catch Exception, catch FetchFailure, catch (error).

Я также пытался вернуть виджет на основе кода ошибки, но FetchStrategyBuilder хочет, чтобы я вернул логическое значение.

1 Ответ

0 голосов
/ 09 октября 2018

Вот одно из решений: https://github.com/flutter/flutter/issues/16592#issuecomment-427991812. Обратите внимание, что это для NetworkImage, а не NetworkImageWithRetry (пока).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...