Skip to main content

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:

dart
void f() => throw 'f';

Common fixes

#

Replace the value with an instance of a subclass of either Exception or Error:

dart
void f() => throw ArgumentError('f');