【发布时间】:2020-08-24 12:02:53
【问题描述】:
void main() {
foo().catchError((error) {
print('Error caught = $error');
});
}
Future<void> foo() {
throw Future.error('FooError');
}
当我阅读docs:
这是“catch”块的异步等价物。
如果我使用catch 块,则会捕获错误。但我的catchError 无法捕捉到错误,但根据文档应该。我是不是做错了什么?
注意:我知道我可以使用return 而不是throw,然后@CopsOnRoad here 所述错误将在catchError 中捕获。我的问题是为什么 catchError 没有捕捉到抛出的错误,但 catch 块确实捕捉到了。
【问题讨论】: