image - 如何在 Flutter 中捕获 404 图像 URL 的 FetchFailure 异常?

标签 image networking dart flutter

我有这样的东西:

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 Exceptioncatch FetchFailurecatch (error)

我也尝试过根据错误代码返回一个小部件,但是 FetchStrategyBuilder 要我返回一个 bool 值。

最佳答案

您无法捕获 FetchFailure 错误的原因是因为它已经在 flutter_image 中捕获了.您收到的错误消息中指出了这一点:EXCEPTION CAUGHT BY PACKAGE:FLUTTER_IMAGE

您能否提供更多详细信息,说明您 try catch 异常的原因?如果这样做的原因是您试图显示占位符图像以防图像加载失败,您可以使用 FadeInImageCachedNetworkImage .

关于image - 如何在 Flutter 中捕获 404 图像 URL 的 FetchFailure 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52637606/

相关文章:

php - 上传文件 PHP 时生成唯一文件名的最佳方法

css - 不透明度不适用于 IE8 中的图像

iPhone 事件网络类型(2G、3G、WiFi)

android - Flutter更新Appbar中的文本

database - 如何在 flutter 朔迷离的Firestore卡片列表中显示我的结果

javascript - 精细 uploader : Track Scaled Images ClientSide

html - CSS : : 试图让部分/div 的高度匹配....一个没有 img

java - 在 Swing 中使用 Libjitsi 库处理 H264 编码的 RTP 视频流 - 如何渲染流?

ios - 如何打开iOS状态栏中的网络指示灯?

dart - Dart编辑器启动配置