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;