私はこのようなコードを持っています:
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