null_check_always_fails
このnullチェックは、式が常に「null」と評価されるため、常に例外がスローされます。
説明
#nullチェック演算子(!)が、値がnullしかありえない式に使用された場合に、アナライザーはこの診断を生成します。そのような場合、演算子は常に例外をスローし、これは意図された動作ではない可能性が高いです。
例
#以下のコードは、関数gが常にnullを返すため、f内のnullチェックが常に例外をスローすることになり、この診断を生成します。
dart
void f() {
g()!;
}
Null g() => null;一般的な修正
#例外を常にスローする意図がある場合は、nullチェックを明示的なthrow式に置き換えて、意図をより明確にしてください。
dart
void f() {
g();
throw TypeError();
}
Null g() => null;