avoid_returning_null
Avoid returning null from members whose return type is bool, double, int, or num.
Details
#NOTE: This rule is removed in Dart 3.3.0; it is no longer functional.
AVOID returning null from members whose return type is bool, double, int, or num.
Functions that return primitive types such as bool, double, int, and num are generally expected to return non-nullable values. Thus, returning null where a primitive type was expected can lead to runtime exceptions.
BAD:
bool getBool() => null;
num getNum() => null;
int getInt() => null;
double getDouble() => null;
GOOD:
bool getBool() => false;
num getNum() => -1;
int getInt() => -1;
double getDouble() => -1.0;
Enable
#To enable the avoid_returning_null
rule, add avoid_returning_null
under linter > rules in your analysis_options.yaml
file:
linter:
rules:
- avoid_returning_null
If you're instead using the YAML map syntax to configure linter rules, add avoid_returning_null: true
under linter > rules:
linter:
rules:
avoid_returning_null: true
Unless stated otherwise, the documentation on this site reflects Dart 3.7.0. Page last updated on 2025-01-27. View source or report an issue.