throw_of_invalid_type
The type '{0}' of the thrown expression must be assignable to 'Object'.
Description
#The analyzer produces this diagnostic when the type of the expression in a throw expression isn't assignable to Object
. It isn't valid to throw null
, so it isn't valid to use an expression that might evaluate to null
.
Example
#The following code produces this diagnostic because s
might be null
:
void f(String? s) {
throw s;
}
Common fixes
#Add an explicit null-check to the expression:
void f(String? s) {
throw s!;
}
Unless stated otherwise, the documentation on this site reflects Dart 3.7.3. Page last updated on 2025-05-08. View source or report an issue.