メインコンテンツにスキップ

rethrow_outside_catch

rethrow は catch 節の中で行う必要があります。

説明

#

rethrow ステートメントが catch 節の外にある場合、アナライザーはこの診断を生成します。rethrow ステートメントは、キャッチされた例外を再度スローするために使用されますが、catch 節の外にはキャッチされた例外がありません。

#

以下のコードでは、rethrow ステートメントが catch 節の外にあるため、この診断が生成されます。

dart
void f() {
  rethrow;
}

一般的な修正

#

例外を再スローしようとしている場合は、rethrow ステートメントを catch 節で囲んでください。

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

新しい例外をスローしようとしている場合は、rethrow ステートメントを throw 式に置き換えてください。

dart
void f() {
  throw UnsupportedError('Not yet implemented');
}