label_undefined
无法引用未定义的标签“{0}”。
描述
#当分析器发现引用了在引用该标签的 break
或 continue
语句作用域内未定义的标签时,会产生此诊断信息。
示例
#以下代码会产生此诊断信息,因为标签 loop
在任何地方都未定义
dart
void f() {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (j != 0) {
break loop;
}
}
}
}
常见修复方法
#如果标签应位于最内层的 do
、for
、switch
或 while
语句上,则移除该标签
dart
void f() {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (j != 0) {
break;
}
}
}
}
如果标签应位于其他语句上,则添加该标签
dart
void f() {
loop: for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (j != 0) {
break loop;
}
}
}
}