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;