Java 确定根异常?
对于给定的异常堆栈,如何获得根异常(假设它是UnknownHostException)Java 确定根异常?,java,exception,Java,Exception,对于给定的异常堆栈,如何获得根异常(假设它是UnknownHostException) [java] org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Couldn't send message. [java] org.codehaus.xfire.fault.XFireFault: Coul
[java] org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Couldn't send message.
[java] org.codehaus.xfire.fault.XFireFault: Couldn't send message.
[java] at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
[java] at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:30)
[java] at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
[java] at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
[java] at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
[java] at org.codehaus.xfire.client.Client.invoke(Client.java:336)
[java] at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
[java] at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
[java] at $Proxy12.findICPInfoToObject(Unknown Source)
[java] at com.sinoi.icp.impl.ICPInfoFinderImpl.findByDomainName(Unknown Source)
[java] at com.sinoi.icp.IcpFinderDemo.main(Unknown Source)
[java] Caused by: org.codehaus.xfire.XFireException: Couldn't send message.
[java] at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:145)
[java] at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
[java] at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
[java] ... 9 more
[java] Caused by: java.net.UnknownHostException: icpinfo.137.300.cn
[java] at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:195)
[java] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
[java] at java.net.Socket.connect(Socket.java:529)
[java] at java.net.Socket.connect(Socket.java:478)
[java] at java.net.Socket.<init>(Socket.java:375)
[java] at java.net.Socket.<init>(Socket.java:249)
[java] at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
[java]
[java] at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
[java]
[java] at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
[java]org.codehaus.xfire.xfirerRuntimeException:无法调用服务。。嵌套异常为org.codehaus.xfire.fault.XFireFault:无法发送消息。
[java]org.codehaus.xfire.fault.XFireFault:无法发送消息。
[java]位于org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
[java]位于org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:30)
[java]位于org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
[java]位于org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
[java]位于org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
[java]位于org.codehaus.xfire.client.client.invoke(client.java:336)
[java]位于org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
[java]位于org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
[java]位于$Proxy12.findICPInfoToObject(未知源)
[java]位于com.sinoi.icp.impl.ICPInfoFinderImpl.findByDomainName(未知来源)
[java]位于com.sinoi.icp.IcpFinderDemo.main(未知来源)
[java]原因:org.codehaus.xfire.xfire异常:无法发送消息。
[java]位于org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:145)
[java]位于org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
[java]位于org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
[java]。。。9更多
[java]原因:java.net.UnknownHostException:icpinfo.137.300.cn
[java]位于java.net.PlainSocketImpl.connect(PlainSocketImpl.java:195)
[java]位于java.net.socksocketimpl.connect(socksocketimpl.java:366)
[java]位于java.net.Socket.connect(Socket.java:529)
[java]位于java.net.Socket.connect(Socket.java:478)
[java]位于java.net.Socket(Socket.java:375)
[java]位于java.net.Socket(Socket.java:249)
[java]位于org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
[爪哇]
[java]位于org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
[爪哇]
[java]位于org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
您可以尝试捕获异常并执行以下操作:
e.getCause();
下面是一个示例方法:
public static Throwable getRoot(Throwable t) {
Throwable result = t;
while (result.getCause() != null) {
result = result.getCause();
}
return result;
}
@rmn190谢谢还不够,您需要单击右侧的勾号来接受答案