only_ throw_ errors
Don't throw instances of classes that don't extend either 'Exception' or 'Error'.
Description
#
The analyzer produces this diagnostic when the value being thrown isn't a
subclass of either
Exception
or
Error
.
Example
#
The following code produces this diagnostic because the string
'f'
is
being thrown:
void f() => throw 'f';
Common fixes
#
Replace the value with an instance of a subclass of either
Exception
or
Error
:
void f() => throw ArgumentError('f');
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Page last updated on 2025-9-4. View source or report an issue.