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.9.2. Page last updated on 2025-9-1. View source or report an issue.