Android - 如何处理超时

时间:2012-03-01 20:18:41

标签: android crash timeout

我在Android中请求POST / GET时遇到问题。 我正在尝试处理错误:

引起:java.net.SocketTimeoutException: Read timed out

为了防止我的应用程序崩溃,我添加了40秒的超时。这有效,但有时40秒不足以避免错误。

我尝试添加“try and catch”但似乎错误不会发生在这里:

try {
            request.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            localContext.setAttribute(ClientContext.COOKIE_STORE,
                    Backend2.cookieStore);
            response = HttpManager.execute(request, localContext);
            if (response.getEntity() != null) {
                final String r = EntityUtils.toString(response.getEntity());
                return r;
            } else {
                return null;
            }
        } catch (SocketTimeoutException e) {
            e.printStackTrace();
            return null;
        }  catch (UnknownHostException e) {
            e.printStackTrace();
            return null;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }

我正在寻找一个解决方案,但是当我在stackoverflow和google上阅读时,我只会看到“增加超时,添加尝试等等”的帖子。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

很难说只是查看你的catch语句,但也许你得到的错误不同于SocketTimeoutException?尝试捕获异常以确认。