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

cast_from_nullable_always_fails

このキャストは、nullable のローカル変数 '{0}' が代入されていないため、常に例外がスローされます。

説明

#

この診断は、nullable 型のローカル変数が代入されておらず、non-nullable 型にキャストされる場合にアナライザーによって生成されます。変数が代入されていないため、デフォルト値の null になり、キャストで例外がスローされます。

#

次のコードは、変数 xnull の値を持つことがわかっているときに、non-nullable 型 (int) にキャストされるため、この診断を生成します。

dart
void f() {
  num? x;
  x as int;
  print(x);
}

一般的な修正

#

キャストの前に変数に値が設定されていることが期待される場合は、初期化子または代入を追加してください。

dart
void f() {
  num? x = 3;
  x as int;
  print(x);
}

変数が代入されないことが期待される場合は、キャストを削除してください。

dart
void f() {
  num? x;
  print(x);
}