调用getResponseCode()时java程序停止运行
我在运行代码时遇到了一个问题,在打开HTTP请求后,我试图检索响应代码,但随后程序停止运行print语句 下面是我的代码:
private static HttpURLConnection openHttpConnection(URL url, String method){
try {
HttpURLConnection connection = null;
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod(method);
connection.setRequestProperty("Content-Type",
"application/json;charset=UTF-8");
connection.setRequestProperty("Accept", "application/json");
System.out.println(connection.getResponseCode());
}
catch (Exception exception) {
exception.printStackTrace();
}
程序在最后一行停止了,当我依次打开多个HTTP请求时,问题就出现了。 注意:当我调试相同的代码时,它可以用于配音,但不能用于运行。 在8个HTTP请求之后,问题也会出现
请帮忙。谢谢
# 1 楼答案
如果程序在最后一行停止(即JVM退出),而没有打印任何响应代码,则getResponseCode()必须抛出异常。这个例外很可能会告诉你问题出在哪里。正如Javert0所指出的,你发现这个异常的地方取决于你的环境——最坏的情况是捕获任何异常并自己打印出来
如果程序在最后一行挂起,
connection.getResponseCode()
可能无法从服务器获得响应并等待超时由于在请求响应代码(
connection.getResponseCode()
)之前没有明确的connection.connect()
,问题几乎可以是任何事情:超时(无响应的服务器/网络/DNS/…),无效结果,缺少权限