null_check_always_fails
这个空值检查将总是抛出异常,因为表达式总是会评估为 'null'。
描述
#当空值检查运算符 (!) 用于一个其值只能为 null 的表达式时,分析器会生成此诊断信息。在这种情况下,该运算符总是会抛出异常,这可能不是预期的行为。
示例
#以下代码会生成此诊断信息,因为函数 g 总是返回 null,这意味着 f 中的空值检查将总是抛出异常
dart
void f() {
g()!;
}
Null g() => null;常见修复方法
#如果你打算总是抛出异常,那么用一个显式的 throw 表达式替换空值检查,以使意图更明确
dart
void f() {
g();
throw TypeError();
}
Null g() => null;