这是我的功能:

void send() throws SocketException
{
    ....

    socket.setSoTimeout(1000);

    ....
}


我在其他功能中使用它:

try
    {
        send();
    }
    catch (SocketException e)
    {
        Log.i("Timeout", "Exception");
    }


但是捕获似乎没有用,没有日志。我100%肯定会发生超时(W / System.err:java.net.SocketTimeoutException)。我也尝试使用Throwable而不是SocketException,但没有帮助。

最佳答案

在Google上播放30秒后:SocketTimeoutException不是SocketException

尝试捕获SocketTimeoutException

10-07 16:21