break_label_on_switch_member
break 標籤指向 'case' 或 'default' 語句。
描述
#當 switch 語句中某個 case 子句內的 break 語句帶有一個與另一個 case 子句關聯的標籤時,分析器會生成此診斷資訊。
示例
#以下程式碼會產生此診斷資訊,因為標籤 l 與值 0 的 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 程式碼塊,則使用 continue 而非 break。
dart
void f(int i) {
switch (i) {
l: case 0:
break;
case 1:
continue l;
}
}