Java:在一个方法里url.openConnection()联网,IP地址不存在时http状态码都拿不到就抛异常了肿么办?

publicstaticInputStreamgetHttpStream(finalStringurlPath)throwsIOException{URLurl=newU... public static InputStream getHttpStream(final String urlPath) throws IOException{
URL url = new URL(urlPath);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
System.err.println("返回的http状态码是:"+conn.getResponseCode());
if(conn.getResponseCode() == HttpURLConnection.HTTP_OK){
return conn.getInputStream();
}
return null;
}
报错是:java.net.SocketException: failed to connect to /192.168.1.100 (port 8080) after 5000ms: isConnected failed: EHOSTUNREACH (No route to host)
想要的结果是就算IP不存在也拿到状态码
展开
 我来答
_ehsu_
2015-02-26 · TA获得超过489个赞
知道小有建树答主
回答量:1298
采纳率:100%
帮助的人:561万
展开全部
这个不是 IP 不存在,是指定的 IP 连不上。
既然 IP 连不上,那也就没有所谓的 HTTP Connction 了,那你希望拿到啥状态码?
不要用 C 的思想来做面向对象的开发

如果你一定想要的话,那你可以 catch SocketException ,然后自己定义一个 status code
不过,不推荐这个方式
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式