有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

调用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) 个答案

  1. # 1 楼答案

    • 如果程序最后一行停止(即JVM退出),而没有打印任何响应代码,则getResponseCode()必须抛出异常。这个例外很可能会告诉你问题出在哪里。正如Javert0所指出的,你发现这个异常的地方取决于你的环境——最坏的情况是捕获任何异常并自己打印出来

    • 如果程序在最后一行挂起,connection.getResponseCode()可能无法从服务器获得响应并等待超时

    • 由于在请求响应代码(connection.getResponseCode())之前没有明确的connection.connect(),问题几乎可以是任何事情:超时(无响应的服务器/网络/DNS/…),无效结果,缺少权限