打破并贴上标签,“标签MyLabel缺失”

时间:2012-01-10 11:07:27

标签: java label break

我有这样的代码:

if(condition1)
{
    break MyLabel;
}
while(true)
{
    //some code here
    MyLabel: if(condition2) break;
    //more code here
}

我收到此错误:

  

标签MyLabel缺失。

怎么了?

2 个答案:

答案 0 :(得分:47)

您只能分解到文本封闭语句中的标签。在您的示例中,标签不在包含break语句的语句中。

(对于它的价值,即使是支持goto的高级语言也不允许你从外部跳到循环的中间。我正在考虑C ...而且更老像FORTRAN这样的语言。)

Java允许你突破,但闯入是非法的...并会让你被捕: - )

(对不起,我无法抗拒。对于那些不开玩笑的人来说,“闯入”是指有人进入你的房子偷东西 - 见"break and enter" ... )

答案 1 :(得分:8)

无法一般的方式使用标签转到goto。
如果要转到更高级别的嵌套代码,请使用标签。

例如

l1: while
 l2: while
  l3: while
   break l1
   l4: while