我是 Java 新手,一个问题困扰着我:如何正确中断循环?
我有一个带有数字字段的文本框(字段数量不受限制),我用“for”循环读取它,当数字用完时,我通过“catch”异常退出。
或多或少像这样:
try {
reader = new BufferedReader(new FileReader("src/cache/vk" + own_Id + "/Id/Idold.txt"));
for (int i = 0; i <= 4; i ++) {
postIdOld [i] = Integer.parseInt(reader.readLine());
}
} catch (RuntimeException e) {
System.out.println("reader faile");
break;
} finally {
reader.close();
}
我做得对还是有更好的方法?
您误解了循环的退出,捕获和中断。catch 不是退出循环,而是在 try 块中发生异常时执行的块,例如 parseInt 抛出错误。
至于循环,它将为您工作 5 次,如果没有错误,它将正确地走得更远。
要更早地中断循环,您需要使用 break,但您需要在 for 块中执行此操作。而且通常break是在一定的条件下执行的,例如:
如果你只是将 break 放在循环中,那么 break 之前的所有内容都将被执行。没有像在 catch 中那样在循环块之外中断。