【发布时间】:2018-10-04 01:10:05
【问题描述】:
我有这样的事情:
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 希望我返回一个布尔值。
【问题讨论】:
-
服务器返回404时你想发生什么?放弃并显示一个空/空图像?
-
更新了问题 - 如果图像成功返回,我想用填充返回图像。否则,我想返回一个空容器(没有额外的填充)。
-
@RichardHeap 不用问他下一步想做什么。问题很简单。如何捕捉错误
标签: image networking dart flutter