2012-03-22 4 views
7

문자열 메시지를 구문 분석하는 것이 좋지 않습니다. 아니면이 예외가 잡히지 않았습니까?IOException "연결 재설정을 피어"로 잡는 방법?

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

stacktrace 또는 코드를 자세한 내용으로 참조하십시오. –

답변

4

당신은 예, 문자열을 구문 분석의 IOException을 잡을 필요가있다.

내가 아는 한 더 구체적인 예외는 없습니다.

또는 SocketException을 잡고 다시 문자열을 구문 분석하십시오.

Here은 javadoc (버전 6)의 클래스 트리입니다. 보시다시피, SocketException은 연결을 재설정 할 때 발생하는 가장 특화된 예외입니다.

+2

SocketException이 아니며 IOException입니다. 따라서 SocketException을 잡는 것은 작동하지 않습니다. 당신의 마지막 문장은 무의미하지 않다면 competet incorrct입니다. – EJP

+0

'TCP 오류와 같은 기본 프로토콜에 오류가 있음을 나타 내기 위해 발생합니다. '(javadoc의 SocketException 설명) 연결 재설정은 TCP 오류입니다 (오류 코드 10054). –

+0

관련 없음. 텍스트 "connection reset"을 가진 예외를 얻는다면 그것은'SocketException'이 아니라'IOException'입니다. 시도 해봐. 당신은 Javadoc 클래스 계층 구조로부터 그것을 추론 할 수 없다. – EJP

1

JVM은 (어댑터 연결, 시간 제한, ICMP 에러 ...) 따라서는 어떤 경우에 일반적인IOException가 발생합니다 오류의 실제 원인에 대한 차이가 없습니다. 사람이 읽을 수있는 문자열 만 오류를 설명하며 사용자가 할 수있는 일은 없습니다.

관련 문제