자바에서 예외처리를 할때 왜 항상 Exception에 대한 catch 구문

vudghkzm의 이미지

예를 들어, 자바에서 어떤 메쏘드가 IOException을 throw 한다고 할때 굳이 IOException만을 catch 하는 것이아니라 항상 Exception에 대한 catch 구문도 가장 마지막에 삽입하던데 왜 그런가요?

익명 사용자의 이미지

의도에 따라 다릅니다. IOException 만 잡아도 관계 없습니다. 하지만 RuntimeException 계열의 예외도 잡아내고 싶은 경우에는 전체 Exception 을 catch 하기도 합니다. 보통은 그렇게 안쓰죠. 반드시 잡아야 할 예외만 잡고 나머지는 호풀측으로 전파하는 게 보통입니다.

crimsoncream의 이미지

어떻게든 안죽게 하겠다는 의도로 runtime exception을 잡는 다면 몰라도 전체를 걸어놓은건 그저 개발할때 편하게 가겠다는 뜻이 아닐지 :)

오늘 우리는 동지를 땅에 묻었습니다. 그러나 땅은 이제 우리들의 것입니다.
아직도 우리의 적은 강합니다. 그러나 우리는 그들보다 많습니다.
항상 많을 것입니다.