这就是我想要做的事情:在循环中,如果程序发现错误,它将打印出“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");
}
我应该在捕获中放入什么代码? “休息”或“下一步”或??? (这是java)
答案 0 :(得分:15)
答案 1 :(得分: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");
}
这会导致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");
如果抛出异常,这会导致try / catch之后的所有代码都不执行,因为显式地告诉循环进入下一次迭代。
答案 2 :(得分:3)
您要查找的关键字是continue
。通过将continue
放在catch
块中的print语句之后,catch
块结束后的剩余行将被跳过,下一次迭代将开始。
答案 3 :(得分:1)
要么
continue
关键字