java - 获取 java.net.ConnectException 但是当我实现 catch 块时,IDE 告诉永远不要从 try 块中抛出 ConnectException
问题描述
这是我的代码
public ResponseEntity<String> xxxMethod(Notification notification, String communicationAPI) throws
CustomException {
ResponseEntity<String> responseEntity = null;
try {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
HttpEntity httpEntity = new HttpEntity(notification, httpHeaders);
RestTemplate restTemplate = HTTPClientUtil.getRestTemplate();
responseEntity = restTemplate.postForEntity(communicationAPI, httpEntity, String.class);
} catch (KeyStoreException | NoSuchAlgorithmException | KeyManagementException e) {
throw new CustomException(ErrorType.ERR_COMM_SERVICE);
}
return responseEntity;
}
下线
responseEntity = restTemplate.postForEntity(communicationAPI, httpEntity, String.class);
得到以下异常
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method) ~[na:1.8.0_161]
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) ~[na:1.8.0_161]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_161]
org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:735) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:670) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:445) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at com.development.co.management.client.RestBridge.xxxMethod(RestBridge.java:60) ~[classes/:na]
at com.development.co.management.client.RestBridge$$FastClassBySpringCGLIB$$9335ad64.invoke(<generated>) ~[classes/:na]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749) ~[spring-aop-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
com.development.co.management.controller.TroubleTicketController.createTicket(TroubleTicketController.java:68)
at com.development.co.management.controller.TroubleTicketController$$FastClassBySpringCGLIB$$5e1efd29.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)
at com.development.co.commons.aop.logging.LoginAspect.log(LoginAspect.java:104)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
但是当我在 catch 中处理异常时,它表明这永远不会抛出 ConnectException。有人可以帮忙吗
解决方案
推荐阅读
- vim - 如何修复从 OSX 上的系统剪贴板粘贴到 vim 中的 unicode 字符?
- python - 代码需要调试。我无法弄清楚这些值是如何四舍五入的
- macos - MacOS 10.12,WKWebView 文件输入问题
- jquery - 动画 jquery 在同一个单击按钮上上下滚动
- reactjs - 如何在 Docusaurus v2 中使用 Prism 插件?
- docusignapi - DocuSign 信封 Webhook - JSON 格式
- reactjs - React Native:将设置从自定义组件传递到 TextInput
- mysql - 在 MySQL 中 Sequlize 等效的一对多关系
- java - 重用 for 循环的最佳方法是什么?
- dialogflow-es - 如何解决 Dialogflow 轮播卡富响应输入类型中的问题?