跳到主要內容

label_undefined

無法引用未定義的標籤“{0}”。

描述

#

當分析器發現引用了在引用該標籤的 breakcontinue 語句作用域內未定義的標籤時,會產生此診斷資訊。

示例

#

以下程式碼會產生此診斷資訊,因為標籤 loop 在任何地方都未定義

dart
void f() {
  for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
      if (j != 0) {
        break loop;
      }
    }
  }
}

常見修復方法

#

如果標籤應位於最內層的 doforswitchwhile 語句上,則移除該標籤

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