Java 标记的中断被忽略或视为正常中断

Java 标记的中断被忽略或视为正常中断,java,android,Java,Android,我的目标平台是Android。看来我连一次都做不到。我错过了什么?Android似乎将最后一个标记为break的断点视为正常断点,否则它会循环多次 public class Test{ public static final String TAG = Test.class.getSimpleName(); public static void labled_breakTest(){ int counter = 0; retry: try{ counter +=

我的目标平台是Android。看来我连一次都做不到。我错过了什么?Android似乎将最后一个标记为break的断点视为正常断点,否则它会循环多次

public class Test{

public static final String TAG = Test.class.getSimpleName();

public static void labled_breakTest(){

int counter = 0; 

retry:
    try{
        counter += 1;
        throw new SQLiteException();

    }catch(SQLiteException e){
        Log.i(TAG, "Catch, Counter " + counter);
        if(counter <= 3) break retry;
    }finally{
        Log.i(TAG, "finally, Counter " + counter);
        if(counter <= 3) break retry;
    }

counter = 0;

loop_break:     
    while(counter < 3){
        counter += 1;

        Log.i(TAG, "Loop, Counter " + counter);
        break loop_break;
    };


}

您的输出对于您提供的代码是正确的。从您的帖子中,听起来好像您希望将控制流传输到标签。Java中并非如此

根据:

break语句终止带标签的语句;它不会将控制流传输到标签。控制流被传输到紧跟在标记(终止)语句之后的语句


是的,我明白了。我还以为他们是“后起之秀”。我应该把它读到底,看到标签还在继续,我会得到区别的。谢谢
 03-07 16:32:07.709: I/Test(18473): Catch, Counter 1
 03-07 16:32:07.709: I/Test(18473): finally, Counter 1
 03-07 16:32:07.713: I/Test(18473): Loop, Counter 1