如何捕获由连接被拒绝引起的java.net.ConnectException?
我找不到一种可靠的方法来区分ConnectException的不同原因(即,除了检查消息字符串之外的其他原因)。我特别感兴趣的是检测由EConRefuse引起的ConnectException,作为重试逻辑的终止条件。在javadoc中,似乎无法获得更多信息:您可以发布您的代码(SSCCE)吗是的,除了依赖消息之外似乎没有其他方法,但是为什么不使用meessage值来终止重试条件呢?不幸的是,我已经观察到消息值在不同的VM实现之间发生变化。您根本不应该重试。TCP已经进行了一些重试,这就是为什么会有一分钟左右的超时。它唯一不这样做的时候是当接收到传入的RST时,即,呃,连接被拒绝。因此,在所有可能的情况下,重试都是不正确的。如何捕获由连接被拒绝引起的java.net.ConnectException?,java,network-programming,Java,Network Programming,我找不到一种可靠的方法来区分ConnectException的不同原因(即,除了检查消息字符串之外的其他原因)。我特别感兴趣的是检测由EConRefuse引起的ConnectException,作为重试逻辑的终止条件。在javadoc中,似乎无法获得更多信息:您可以发布您的代码(SSCCE)吗是的,除了依赖消息之外似乎没有其他方法,但是为什么不使用meessage值来终止重试条件呢?不幸的是,我已经观察到消息值在不同的VM实现之间发生变化。您根本不应该重试。TCP已经进行了一些重试,这就是为什么