我有一個程序有時會遇到errorjava.net.SocketException。有沒有辦法讓客戶端程序在遇到這個錯誤時(並且只有)遇到這個錯誤才能「執行」錯誤?完整的錯誤是處理java.net.SocketException
java.net.SocketException: Software caused connection abort: socket write error
這裏是我現在擁有的一個總結。
public void run() {
try {
//some code that causes the SocketException
}
catch (SocketException e) {
System.out.println("I recognize the SocketException");
}
}
但是,儘管出現錯誤,它仍然不會打印該行。
以下是完整的錯誤
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.ObjectOutputStream$BlockDataOutputStream.drain(Unknown Source)
at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(Unknown Source)
at java.io.ObjectOutputStream.writeNonProxyDesc(Unknown Source)
at java.io.ObjectOutputStream.writeClassDesc(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeFatalException(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at (...).java:61)
at (...).java:164)
由於網絡可靠性原因,此問題似乎是無關緊要的,因爲它太本地化了。 – EJP
請注意,在這種情況下,由於網絡可靠性原因,連接已由您而不是對等點丟棄。請參見[官方原因爲'軟件導致連接中止'](http://stackoverflow.com/questions/2126607/official-reasons-for-software-caused-connection-abort-socket-write-error)。 – EJP