Joh*_*ohn 6 java for-loop try-catch
这就是我想要做的事情:在循环中,如果程序发现错误,它将打印出"Nothing"并转到下一个循环(跳过打印输出""在端口发现的服务:"+ px +"\n "
for(int px=PORT1; px <=PORT2; px++) { //search
try{
Socket s = new Socket(IPaddress,px);
} catch(Exception e) {
System.out.print("Nothing\n");
// I want to go to next iteration
}
System.out.print("Service discovered at port: " + px + "\n");
}
Run Code Online (Sandbox Code Playgroud)
我应该在捕获中放入什么代码?"休息"或"下一步"或??? (这是java)
Mic*_*ael 15
使用continue关键字:
continue;
Run Code Online (Sandbox Code Playgroud)
它将打破当前的迭代并从循环的顶部继续.
这里有一些进一步的阅读:
tem*_*def 14
如果只想在特定点抛出异常,只打印出一条消息(或执行一些代码),那么将该代码放在可能引发异常的行之后:
try {
Socket s = new Socket(IPaddress,px);
System.out.print("Service discovered at port: " + px + "\n");
} catch(Exception e) {
System.out.print("Nothing\n");
}
Run Code Online (Sandbox Code Playgroud)
print如果抛出异常,则会导致不执行,因为try语句将被中止.
或者,您可以从以下内容中获得continue声明catch:
try {
Socket s = new Socket(IPaddress,px);
} catch(Exception e) {
System.out.print("Nothing\n");
continue;
}
System.out.print("Service discovered at port: " + px + "\n");
Run Code Online (Sandbox Code Playgroud)
如果抛出异常,这会导致try/catch之后的所有代码都不执行,因为显式地告诉循环进入下一次迭代.
| 归档时间: |
|
| 查看次数: |
14794 次 |
| 最近记录: |