Java连接超时异常

时间:2012-02-01 02:24:16

标签: java timeout

我正在尝试查找所有Java超时异常:

java.net.SocketTimeoutException
java.net.ConnectException
java.rmi.ConnectException

在发生连接超时或无法建立连接的情况下,Java是否会抛出其他异常?

2 个答案:

答案 0 :(得分:0)

当连接失败时,无法保证java程序会抛出特定的异常。这一切都取决于实施。

这是一个使用完全组合异常的合理方法:

public String getImportantStringFromServer(String server) throws ServerIsDeadException{
    for(int i=0;i<50;i++){
        try{
            return getStringFromServer(server);
        } catch(Throwable t){}
    }
    throw new ServerIsDeadException();
}

答案 1 :(得分:0)

我猜你总是可以使用Exception的超类,它可能不一定被定义,你可能想要捕捉不同的东西并以不同的方式处理它们,但是如果你只是想确保它被捕获只是为了确保投掷Throwable,被覆盖。