gpt4 book ai didi

Java HttpURLConnection 神秘死亡

转载 作者:搜寻专家 更新时间:2023-11-01 03:40:44 24 4
gpt4 key购买 nike

我正在尝试使用 java.net.HttpURLConnection 进行简单的 HTTP GET 调用,但遇到了一些我无法解释的问题:

public String makeGETCall(HttpURLConnection con) {
try {
System.out.println("About to make the request...");

if(con == null)
System.out.println("con is NULL");
else {
System.out.println("con is NOT null");

if(con.getInputStream() == null)
System.out.println("con's input stream is NULL");
else
System.out.println("con's input stream is NOT null");
}
} catch(Throwable t) {
System.out.println("Error: " + t.getMessage());
}

System.out.println("Returning...")
return "DUMMY DATA";
}

当我运行它时,我得到以下控制台输出:

About to make the request...
con is NOT null

然后程序终止,没有错误。不会抛出异常,不会意外退出,不会挂起或超时……它只是死掉了。

当我检查 con.getInputStream() 是否为 null 时,它似乎快死了。但这仍然不能解释为什么它会在没有任何错误迹象的情况下安静地死去。有任何想法吗?我愿意承认我可能错误地创建了 HttpURLConnection,但是仍然应该有更多的迹象表明是什么正在杀死我的程序...提前致谢!

最佳答案

你的代码不应该被编译,因为这一行:

 System.out.println("Returning...")

缺少分号。话虽如此,我可以想象您正在使用的应用程序的任何运行都使用旧的执行并且没有您可能编写的新代码。

如果情况并非如此,那么您粘贴的代码(不知何故)不正确,我敢猜测您是否错过了我们需要看到的其他方面?如果您以某种方式为 StackOverflow 编辑了代码,您介意分享原始代码吗?

此外,除非你有充分的理由,否则我建议不要捕获 Throwable。像这样掩盖应用程序错误通常是不好的做法。

关于Java HttpURLConnection 神秘死亡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15160155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com