【问题标题】:Flutter - How to catch an error when call a picture with a bad url with Image.NetworkFlutter - 如何在使用 Image.Network 调用带有错误 url 的图片时捕获错误
【发布时间】:2021-02-11 01:23:41
【问题描述】:

我尝试调用带有错误 url 的图片并在失败时显示图片... 但是flutter会抛出异常,并在运行开发过程中尝试catch不工作。

var url = "http://badUrl.com"
try {
    return Image.network(
            url,
            width: pictureSize.width,
            height: pictureSize.height,
            fit: BoxFit.fitWidth,
            errorBuilder: (BuildContext context, Object exception,
                StackTrace stackTrace) {
              return Image.asset("assets/img/logo.png");
            },
    );
} catch (error) {
  return Image.asset("assets/img/logo.png");
}

我已经尝试过that,但它不起作用

【问题讨论】:

    标签: image flutter try-catch


    【解决方案1】:

    也许您应该将验证您的链接是否有效的 canLaunch 方法调整为您的示例

    if (canLaunch(url) != null) {
      launch(url);
    } else {
      throw 'Could not launch $url';
    }
    

    【讨论】:

      【解决方案2】:

      如果您想要一个全面的解决方案,您可以使用 cached_image 小部件 https://pub.dev/packages/cache_image

      这将帮助您解决很多异常情况

      【讨论】:

        猜你喜欢
        • 2019-03-05
        • 2015-06-04
        • 2019-11-26
        • 2023-04-06
        • 2023-02-13
        • 2021-11-30
        • 2021-02-05
        • 2014-07-26
        • 1970-01-01
        相关资源
        最近更新 更多