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

switch_case_completes_normally

「case」は通常完了すべきではありません。

説明

#

この診断は、switch ステートメントの case ラベルの後に続くステートメントが、次の case または default ラベルにフォールスルーする可能性がある場合に、アナライザーによって生成されます。

#

次のコードは、値がゼロ (0) の case ラベルが default ステートメントにフォールスルーするため、この診断を生成します。

dart
void f(int a) {
  switch (a) {
    case 0:
      print(0);
    default:
      return;
  }
}

一般的な修正

#

case がフォールスルーしないように、制御フローを変更してください。これを行うにはいくつかの方法があります。現在のステートメントリストの末尾に以下のいずれかを追加することもその 1 つです。

  • return ステートメント。
  • throw 式。
  • break ステートメント。
  • continue、または
  • 戻り値の型が Never である関数またはメソッドの呼び出し。