You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

outer_loop标记语句报错:Git推送流水线出现Unexpected labeled statement错误

修复"Unexpected labeled statement"错误方案

推送代码至Git时流水线报错:outer_loop标签处提示“Unexpected labeled statement”,问题代码如下:

outer_loop:
while ((c = nextPixel()) != EOF) {
  fcode = (c << BITS) + ent;
  i = (c << hshift) ^ ent;
  if (htab[i] === fcode) {
    ent = codetab[i];
    continue;
  } else if (htab[i] >= 0) {
    disp = hsize_reg - i;
    if (i === 0) disp = 1;
    do {
      if ((i -= disp) < 0) i += hsize_reg;
      if (htab[i] === fcode) {
        ent = codetab[i];
        continue outer_loop;
      }
    } while (htab[i] >= 0);

  }
  output(ent, outs);
  ent = c;
  if (free_ent < 1 << BITS) {
    codetab[i] = free_ent++;
    htab[i] = fcode;
  } else {
    cl_block(outs);
  }
}

错误原因

标签语句(如outer_loop)在当前代码环境中不被允许,可能是启用了严格模式、代码检查工具(如ESLint)禁用了标签,或是语法规范限制导致。

修正方法

推荐通过重构逻辑移除标签,用布尔标志替代跳转,既符合语法规范也提升代码可读性:

let continueOuter = false;
while ((c = nextPixel()) != EOF) {
  // 检查是否需要跳转到外层循环开头
  if (continueOuter) {
    continueOuter = false;
    continue;
  }

  fcode = (c << BITS) + ent;
  i = (c << hshift) ^ ent;

  if (htab[i] === fcode) {
    ent = codetab[i];
    continue;
  } else if (htab[i] >= 0) {
    disp = hsize_reg - i;
    if (i === 0) disp = 1;
    
    do {
      if ((i -= disp) < 0) i += hsize_reg;
      if (htab[i] === fcode) {
        ent = codetab[i];
        continueOuter = true;
        break; // 跳出内层循环
      }
    } while (htab[i] >= 0);

    // 若标记为跳转外层,直接进入下一轮外层循环
    if (continueOuter) continue;
  }

  output(ent, outs);
  ent = c;
  if (free_ent < 1 << BITS) {
    codetab[i] = free_ent++;
    htab[i] = fcode;
  } else {
    cl_block(outs);
  }
}

也可以尝试关闭代码检查工具的标签禁用规则(如ESLint的no-labels)或关闭严格模式,但这种方式不推荐,会降低代码安全性和可读性。

内容的提问来源于stack exchange,提问作者Celal Poyraz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 19:13:16