如何捕获IOException“通过peer重置连接”?

时间:2012-03-22 19:56:16

标签: java sockets networking tcp

解析字符串消息似乎很糟糕。或者这个例外是不是意味着被抓住了?

java.io.IOException: Connection reset by peer
    at sun.nio.ch.FileDispatcher.read0(Native Method)
    at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)

2 个答案:

答案 0 :(得分:4)

您需要捕获IOException,并且,是的,解析字符串。

据我所知,没有任何其他例外比捕获的更具体。

或者抓住SocketException并再次解析字符串。

Here是来自javadoc(版本6)的类树。如您所见,SocketException是重置连接时抛出的最专业的异常。

答案 1 :(得分:1)

JVM对错误的真正原因没有区别,因此它会在任何情况下抛出泛型 IOException(适配器断开连接,超时,ICMP错误......)。只有人类可读的字符串才能描述错误,你无能为力。