java 使用HttpURLConnection请求服务器,如果发送请求时没有问题,但返回结果时网络断了,如何处理?

我上边说的情况是否属于应答超时?HttpURLConnection.setReadTimeout(),是不是就是设置应答超时,如果超时的话返回的结果代码是多少?503吗?... 我上边说的情况是否属于应答超时?HttpURLConnection.setReadTimeout(),是不是就是设置应答超时,如果超时的话返回的结果代码是多少?503吗? 展开
 我来答
llei32wang
推荐于2017-11-25 · TA获得超过2736个赞
知道大有可为答主
回答量:1478
采纳率:60%
帮助的人:1401万
展开全部
.setConnectTimeout() 指的是与请求网址的服务器建立连接的超时时间。
setReadTimeout() 指的是建立连接后如果指定时间内服务器没有返回数据的后超时。
503是错误码,能返回就说明服务器返回了response。超时指的是你指定的时间没有收到服务器的response。

不管哪种超时都不有状态码返回。因为返回是在response响应中的,而就是在设定的时间内没有收到响应,才会超时。如果出现超时的话会抛出一个异常。你可以catch超时异常,然后根据需要处理就行了。
追问
谢谢您的回答,您将的我清楚了。我现在的问题是,收到response之前网络断了,到不了catch里边
追答
只有收到response之前网络断了,才会抛出异常的。如果收到了收到response了,就说明连接正常,正常处理就行了。

在try区块的代码如果某行在执行时抛出异常,try区块内的剩下的代码就不执行了。转而执行catch里边对应异常区块内的代码。我们可以在catch内把异常处理掉,保证程序能正常执行下去。
另外finally区块里的代码是不论有没有异常都会被执行的代码。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式