我有一个定制的API来与他们的消息系统进行交互。但是这个API并没有给我任何方式来确认我已经建立了一个连接,而无法连接一个异常将被抛出。环路异常
当我在连接时收到异常时,我有一个尝试重新连接到服务器的异常侦听器。我想这样循环的异常重试连接。进行无限循环直到我能够连接,或者直到程序关闭。我尝试与突破标签要做到这一点,像这样:
reconnect: try{
attemptReconnection();
}catch(Exception e){
log.error(e);
break reconnect;
}
但无法找到重新连接标签对我来说,是一个有点接近使用GOTO语句比我会很舒服投产。如果执行流量达到break;
指令那么这意味着你成功连接
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);
:
嗯..我有同样的概念,但这更清洁,更合适。不得不说我喜欢这个答案更哈哈。 –