body_might_complete_normally_catch_error
此 'onError' 处理器必须返回一个可赋值给 '{0}' 的值,但其结束时没有返回值。
描述
#当传递给 Future.catchError
方法的 onError
参数的闭包被要求返回非 null
值(因为 Future
的类型实参)但它可以隐式返回 null
时,分析器会生成此诊断信息。
示例
#以下代码生成此诊断信息,因为传递给 catchError
方法的闭包被要求返回一个 int
,但它没有以显式的 return
结束,导致它隐式返回 null
dart
void g(Future<int> f) {
f.catchError((e, st) {});
}
常见修复方法
#如果闭包有时应返回非 null
值,则向闭包添加一个显式的 return
dart
void g(Future<int> f) {
f.catchError((e, st) {
return -1;
});
}
如果闭包应始终返回 null
,则将 Future
的类型实参更改为 void
或 Null
dart
void g(Future<void> f) {
f.catchError((e, st) {});
}