Skip to main content

use_rethrow_when_possible

Learn about the use_rethrow_when_possible linter rule.

Stable
Recommended
Fix available

Use rethrow to rethrow a caught exception.

Details

#

From Effective Dart:

DO use rethrow to rethrow a caught exception.

As Dart provides rethrow as a feature, it should be used to improve terseness and readability.

BAD:

dart
try {  somethingRisky(); } catch(e) {  if (!canHandle(e)) throw e;  handle(e); } 

GOOD:

dart
try {  somethingRisky(); } catch(e) {  if (!canHandle(e)) rethrow;  handle(e); } 

Enable

#

To enable the use_rethrow_when_possible rule, add use_rethrow_when_possible under linter > rules in your analysis_options.yaml file:

analysis_options.yaml
yaml
linter:  rules:  - use_rethrow_when_possible 

If you're instead using the YAML map syntax to configure linter rules, add use_rethrow_when_possible: true under linter > rules:

analysis_options.yaml
yaml
linter:  rules:  use_rethrow_when_possible: true