跳到主要内容

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 的类型实参更改为 voidNull

dart
void g(Future<void> f) {
  f.catchError((e, st) {});
}