【发布时间】:2014-04-11 06:19:10
【问题描述】:
谁能帮我解释一下为什么这段代码不会抛出超时异常。
httpParams = new BasicHttpParams();
int some_reasonable_timeout = (int) (10 * DateUtils.SECOND_IN_MILLIS);
HttpConnectionParams.setConnectionTimeout(httpParams, some_reasonable_timeout);
HttpConnectionParams.setSoTimeout(httpParams, some_reasonable_timeout);
try {
response = client.execute(request);
}
catch(Exception e) { //catching timeout exception
response = null;
}
return response;
我断开计算机与互联网的连接,然后从android device 发出请求。但它不会抛出time out exception。可能是当超时异常抛出时我没有得到。我想做,当系统在 10 秒内没有响应时退出request。请帮我解决这个问题。
更新
也试试这个
// httpParams = new BasicHttpParams();
// int some_reasonable_timeout = (int) (10 * DateUtils.SECOND_IN_MILLIS);
// HttpConnectionParams.setConnectionTimeout(httpParams, some_reasonable_timeout);
// HttpConnectionParams.setSoTimeout(httpParams, some_reasonable_timeout);
// request.setParams(httpParams);
setTimeouts(request.getParams());
try {
response = client.execute(request);
}
catch(Exception e) { //catching timeout exception
response = null;
return response;
}
return response;
【问题讨论】:
-
投反对票的人请说明你投反对票的原因。有什么问题。
标签: android http exception timeoutexception