avoid_catches_without_on_clauses
on句のないcatchを避けてください。
このルールはDart 2.0から利用可能です。
詳細
#効果的なDartより
避けるべき: on句のないcatch。
on句のないcatch句を使用すると、予期しないエラーが発生しやすくなり、エラーがスローされず、したがって気づかれずに終わる可能性があります。
悪い例
dart
try {
somethingRisky()
} catch(e) {
doSomething(e);
}
良い例
dart
try {
somethingRisky()
} on Exception catch(e) {
doSomething(e);
}
いくつかの例外的なケースが許可されます。
- catchの本体が例外を再スローする場合。
- キャッチされた例外が
Future.error
、Completer.completeError
、FlutterError.reportError
、または戻り値の型がNever
の任意の関数の引数に「直接使用」されている場合。 - キャッチされた例外が新しいthrow式で「直接使用」されている場合。
これらの場合、「直接使用」とは、例外が関連するコード内(引数内など)で参照されることを意味します。たとえば、ラッパー例外をインスタンス化するために、関連するコードより前に例外変数が参照されている場合、その変数は「直接使用」されているとはみなされません。
使い方
#avoid_catches_without_on_clauses
ルールを有効にするには、analysis_options.yaml
ファイルのlinter > rulesの下にavoid_catches_without_on_clauses
を追加します。
analysis_options.yaml
yaml
linter:
rules:
- avoid_catches_without_on_clauses
特に明記されていない限り、このサイトのドキュメントはDart 3.5.3を反映しています。ページ最終更新日:2024-07-03。 ソースを表示 または 問題を報告する。