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

我有这样的代码:

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

我收到此错误:

标签MyLabel缺失。

怎么了?

您只能破坏文本封闭语句中的标签。 在您的示例中,标签不在包含break语句的语句上。

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

Java允许你爆发,但闯入是非法的…并会让你被捕:-)

(对不起,我无法抗拒。对于那些不开玩笑的人来说,“闯入”就是当有人进入你的房子偷东西时 – 看到“打破并进入” ……)

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

例如

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