non_type_in_catch_clause
The name '{0}' isn't a type and can't be used in an on-catch clause.
Description
#The analyzer produces this diagnostic when the identifier following the on
in a catch
clause is defined to be something other than a type.
Example
#The following code produces this diagnostic because f
is a function, not a type:
dart
void f() {
try {
// ...
} on f {
// ...
}
}
Common fixes
#Change the name to the type of object that should be caught:
dart
void f() {
try {
// ...
} on FormatException {
// ...
}
}
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.