我有一個定製的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);
:
嗯..我有同樣的概念,但這更清潔,更合適。不得不說我喜歡這個答案更哈哈。 –