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

break_label_on_switch_member

break ラベルは、'case' または 'default' ステートメントに解決されます。

説明

#

switch ステートメント内の case 句にある break が、別の case 句に関連付けられたラベルを持っている場合、アナライザーはこの診断を生成します。

#

以下のコードは、ラベル l0 の case 句に関連付けられているため、この診断を生成します。

dart
void f(int i) {
  switch (i) {
    l: case 0:
      break;
    case 1:
      break l;
  }
}

一般的な修正

#

switch の後のステートメントに制御を移す意図がある場合は、break ステートメントからラベルを削除してください。

dart
void f(int i) {
  switch (i) {
    case 0:
      break;
    case 1:
      break;
  }
}

別の case ブロックに制御を移す意図がある場合は、break ではなく continue を使用してください。

dart
void f(int i) {
  switch (i) {
    l: case 0:
      break;
    case 1:
      continue l;
  }
}