avoid_catches_without_on_clauses    
on句なしのcatchは避ける。
詳細
#From Effective 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代わりにYAMLマップ構文を使用してlinterルールを構成している場合は、linter > rulesの下にavoid_catches_without_on_clauses: trueを追加してください。
analysis_options.yaml
yaml
linter:
  rules:
    avoid_catches_without_on_clauses: true