我有一个自定义构建的 API,用于与他们的消息系统进行交互。但是这个 API 没有给我任何方法来确认我已经建立了连接,除了当它无法连接时会抛出异常。
当我在连接时收到异常时,我有一个异常监听器尝试重新连接到服务器。我希望这个循环出现异常以重试连接。做一个无限循环,直到我能够连接,或者直到程序关闭。我试图用这样的中断标签来做到这一点:
reconnect: try{
attemptReconnection();
}catch(Exception e){
log.error(e);
break reconnect;
}
但这无法为我找到重新连接标签,并且有点接近于使用 GOTO 语句,而不是我愿意投入生产。
最佳答案
这样进行:
do { // optional loop choice
try{
attemptReconnection();
break; // Connection was successful, break out of the loop
} catch(Exception e){
// Exception thrown, do nothing and move on to the next connection attempt (iteration)
log.error(e);
}
}while(true);
如果执行流程到达break;
指令则表示您已成功连接。否则,它将继续进行下一次迭代。 (请注意,循环选择是可选的,您可以使用几乎任何您想要的循环)
关于java - 异常循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34068466/