Skip to main content

use_rethrow_when_possible

Use 'rethrow' to rethrow a caught exception.

Description

#

The analyzer produces this diagnostic when a caught exception is thrown using a throw expression rather than a rethrow statement.

Example

#

The following code produces this diagnostic because the caught exception e is thrown using a throw expression:

dart
void f() {
  try {
    // ...
  } catch (e) {
    throw e;
  }
}

Common fixes

#

Use rethrow instead of throw:

dart
void f() {
  try {
    // ...
  } catch (e) {
    rethrow;
  }
}