メインコンテンツにスキップ

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;