body_might_complete_normally
メソッドの本体が正常に完了し、「null」が返される可能性がありますが、返却型 `{0}` は、null許容ではない可能性がある型です。
説明
#この診断は、メソッドまたは関数の返却型がnull許容ではない可能性があるものの、関数の末尾に到達した場合に暗黙的にnullを返すときにアナライザーによって生成されます。
例
#次のコードは、メソッドmの末尾に暗黙的にnullの返却が挿入され、メソッドがnullを返さないように宣言されているため、この診断を生成します。
dart
class C {
int m(int t) {
print(t);
}
}次のコードは、メソッドmの末尾に暗黙的にnullの返却が挿入され、クラスCがnull許容ではない型引数でインスタンス化できるため、メソッドが実質的にnullを返さないように宣言されているため、この診断を生成します。
dart
class C<T> {
T m(T t) {
print(t);
}
}一般的な修正
#返却できる合理的な値がある場合は、メソッドの末尾にreturnステートメントを追加してください。
dart
class C<T> {
T m(T t) {
print(t);
return t;
}
}メソッドが暗黙的な返却に到達しない場合は、メソッドの末尾にthrowを追加してください。
dart
class C<T> {
T m(T t) {
print(t);
throw '';
}
}メソッドが意図的に末尾でnullを返却する場合は、メソッドの末尾に明示的なnullの返却を追加し、nullの返却を有効にするように返却型を変更してください。
dart
class C<T> {
T? m(T t) {
print(t);
return null;
}
}