java http请求超时抛出什么异常_HttpURLConnection超时异常问题

最近在使用java网络连接时:具体如下:

URL url=new URL("http://XXX.com.cn");

HttpURLConnection connect=(HttpURLConnection)url.openConnection();

connect.setConnectTimeout(500);//设置连接超时:500ms

connect.setReadTimeout(500);//设置读取超时:500ms

已经设置了超时,但是在本地环境中(断网的情况下),仍然要链接10多秒的时间,并且不会抛出SocketTimeoutException异常,想请教下大神们如何才能限制请求的时间,抛出超时这个异常呢

*******************************分割线****************************************

感谢 缪斯的情人 的热心解答

查看API以及网上搜索,然后断点跟踪进去看了一下:

HttpURLConnection connect=(HttpURLConnection)url.openConnection();

只会返回对象而不会真正建立连接,所以后面设置的连接超时和读取超时是可用的(通过设置超时为1ms,捕获到了超时异常).问题出在:本地网络是断开的,所以在调用connect.connect()的时候会抛出java.net.UnknownHostException异常.正是因为这样,导致连接十几秒的情况.

接下来的问题是,如何限制断网情况下尝试连接的时间呢(原谅我对网络这块的无知TT )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值