gpt4 book ai didi

Java : Why exception is not being caught inside the Second Method catch block

转载 作者:行者123 更新时间:2023-12-01 05:32:10 25 4
gpt4 key购买 nike

我有这个方法调用下面的方法,我故意为要连接的 URL 提供错误的端口号。但令我惊讶的是,产生的异常被第一个 Method catch block 捕获为什么它没有在executeData 方法的catch block 内得到处理??

**1st Method** 
public APIResponse execute(Request request, Class<? extends Response> responseClass) {
try {
String xmlResponse = executeData(request);
// some code
return response;
}
catch (Exception ex) {

return new Response(ErrorCode.SYSTEM_ERROR);
}
}

2nd Method
public String executeData(Request request) throws IOException {
URL url = null;
URLConnection urlc = null;
try {
url = new URL("http://localhost:80870/");
urlc = url.openConnection();

}
catch (Exception ex) {
ex.printStackTrace();
**// This is not being executed .**
}

// Some code
// Some code
return xmlResponse;
}

最佳答案

这可能是因为你的线路

// some code

产生另一个被捕获的异常。你的第二个方法不会抛出任何异常,我认为这没有任何问题。

connection.connect();

将抛出异常。

您还可以检查状态:

int responseCode = connection.getResponseCode();
if (responseCode != 200) {
// Not OK.
}

关于Java : Why exception is not being caught inside the Second Method catch block,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8802888/

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