java - 异常循环

标签 java loops exception

我有一个自定义构建的 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/

相关文章:

java - 使用 jackson 从改造中反序列化 json,其中相同的变量名可以代表两个不同的对象

java - Spring + JPA + SQL View

c++ - 带有模板参数的自定义 C++ 异常

exception - Hadoop作业未被杀死

java - Android程序写入模拟器而不是手机

java - 使用 DefaultHttpClient 和 Swingworker 实现 cookie 持久化

loops - 简单的 Haskell 循环

R(data.table)查找间隔中天数比例最大的日历月

c++ - (C++) 循环 : User Input Without Reserving Memory

c# - 如何模拟输入异常的函数?