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
:
dart
void f(String? s) {
throw s;
}
Common fixes
#Add an explicit null-check to the expression:
dart
void f(String? s) {
throw s!;
}
Was this page's content helpful?
Thank you for your feedback!
Provide details Thank you for your feedback! Please let us know what we can do to improve.
Provide details Unless stated otherwise, the documentation on this site reflects Dart 3.8.1. Page last updated on 2025-05-08. View source or report an issue.