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;
}
}