E4102

E4102#

不在循环中。

该错误发生在使用 breakcontinue 语句时,它们只能在循环中使用。

  • break 用于提前退出循环。

  • continue 用于跳过循环的下一次迭代。

在没有循环可跳出或继续到下一次迭代的情况下,使用这些语句是无效的。

错误示例#

pub fn f(xs: Array[Int]) -> Int {
  for i in xs {
    ignore(i)
  } else {
    break 42
//  ^^^^^^^^ Error: 'break' outside of a loop
  }
}

pub fn g(x: Int) -> Int {
  continue x
// ^^^^^^^^ Error: 'continue' outside of a loop
}

fn main {
  let x = { break }
//          ^^^^^ Error: 'break' outside of a loop
  println(x)
}

建议#

要修复此错误,请确保 breakcontinue 在循环构造中使用。