为什么程序仍然抛出java.net.ConnectException甚至I';我又加了一个“尝试”和“抓住”?
我正在尝试在出现连接错误时添加控件。我的目标是通过捕获异常来阻止程序抛出异常为什么程序仍然抛出java.net.ConnectException甚至I';我又加了一个“尝试”和“抓住”?,java,exception,connection,jersey-client,Java,Exception,Connection,Jersey Client,我正在尝试在出现连接错误时添加控件。我的目标是通过捕获异常来阻止程序抛出异常 try { Client client = ClientBuilder.newBuilder() .register(JacksonFeature.class) .build(); client.register(new HttpBasicAuthFilter("login", "password")); WebTarget webTarget =
try {
Client client = ClientBuilder.newBuilder()
.register(JacksonFeature.class)
.build();
client.register(new HttpBasicAuthFilter("login", "password"));
WebTarget webTarget = client.target("http://path");
Response response = webTarget.request().post(Entity.json(bean));
System.out.println(response.getStatus());
} catch (Exception e) {
// I do nothing here
}
但它会在控制台中打印:
org.glassfish.jersey.client.ClientRequest writeEntity
严重:提交请求输出流时出错。
java.net.ConnectException:连接被拒绝:连接
位于java.net.DualStackPlainSocketImpl.connect0(本机方法)
位于java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
位于java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
位于java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
位于java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
位于java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
位于java.net.socksocketimpl.connect(socksocketimpl.java:392)
位于java.net.Socket.connect(Socket.java:579)
位于sun.net.NetworkClient.doConnect(NetworkClient.java:175)
位于sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
位于sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
http.HttpClient.(HttpClient.java:211)
http.HttpClient.New(HttpClient.java:308)
http.HttpClient.New(HttpClient.java:326)
位于sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:996)
位于sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:932)
http.HttpURLConnection.connect(HttpURLConnection.java:850)
位于sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1091)
位于org.glassfish.jersey.client.HttpUrlConnector$3.getOutputStream(HttpUrlConnector.java:287)
位于org.glassfish.jersey.message.internal.committengoutputstream.commitStream(committengoutputstream.java:198)
位于org.glassfish.jersey.message.internal.committengoutputstream.commitStream(committengoutputstream.java:192)
位于org.glassfish.jersey.message.internal.committengoutputstream.commit(committengoutputstream.java:260)
位于org.glassfish.jersey.message.internal.OutboundMessageContext.commitStream(OutboundMessageContext.java:822)
位于org.glassfish.jersey.client.ClientRequest.writeEntity(ClientRequest.java:451)
位于org.glassfish.jersey.client.HttpUrlConnector.\u apply(HttpUrlConnector.java:290)
位于org.glassfish.jersey.client.HttpUrlConnector.apply(HttpUrlConnector.java:203)
位于org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:215)
位于org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:634)
位于org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:631)
位于org.glassfish.jersey.internal.Errors.process(Errors.java:315)
位于org.glassfish.jersey.internal.Errors.process(Errors.java:297)
位于org.glassfish.jersey.internal.Errors.process(Errors.java:228)
位于org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:426)
位于org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:631)
位于org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:391)
位于org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:300)
位于com.saintgobain.sg4p.igquality.desktop.DesktopClientController.sendToServer(DesktopClientController.java:857)
在com.saintgobain.sg4p.igquality.desktop.DesktopClientController.handleSendToServerClicked上(DesktopClientController.java:835)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:606)
在sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75)中
在sun.reflect.GeneratedMethodAccessor1.invoke处(未知源)
如果我加入catch部分:e.printStackTrace()代码>
控制台还打印:
原因:java.net.ConnectException:连接被拒绝:连接
位于java.net.DualStackPlainSocketImpl.connect0(本机方法)
位于java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
位于java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
位于java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
位于java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
位于java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
位于java.net.socksocketimpl.connect(socksocketimpl.java:392)
位于java.net.Socket.connect(Socket.java:579)
位于sun.net.NetworkClient.doConnect(NetworkClient.java:175)
位于sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
位于sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
http.HttpClient.(HttpClient.java:211)
http.HttpClient.New(HttpClient.java:308)
http.HttpClient.New(HttpClient.java:326)
位于sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:996)
位于sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:932)
http.HttpURLConnection.connect(HttpURLConnection.java:850)
位于sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1091)
位于org.glassfish.jersey.client.HttpUrlConnector$3.getOutputStream(HttpUrlConnector.java:287)
位于org.glassfish.jersey.message.internal.committengoutputstream.commitStream(committengoutputstream.java:198)
在org.glassfish.jersey.message.internal.committeingoutpu上