개발자 취준기/Error Collection

Unreachable catch block for -. It is already handled by the catch block for IOException

bbosioy 2023. 2. 23. 12:50

▶ 오류메시지 : 이미 IOException이라는 catch block으로 처리가 되기 때문에 도달할 수 없다.

▶개념 : 다형성

▶원인 : Exception간 상속 관계를 고려하지 않아서 발생한 오류

☞ ObjectStreamException[자식]  /  IOException[부모]

☞ 부모는 자식 객체를 받을 수 있지만, 자식은 부모 객체를 받을 수 없다.

☞ 부모 타입이 자식 객체까지 다 처리해서, 하단에 있는 ObjectStreamException까지 내려오지 않는다. 

 

부모 타입은 자식 타입의 아래에 작성되어야 한다.
**Exception은 예외의 최고 조상이기 때문에, 제일 마지막 절에 있어야 한다.

▶ 해결 : 부모 타입을 아래로 내린다.