Java 标记的中断被忽略或视为正常中断
我的目标平台是Android。看来我连一次都做不到。我错过了什么?Android似乎将最后一个标记为break的断点视为正常断点,否则它会循环多次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 +=
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