CatchAll
- 최상위, 추상적 에러로 에러 처리 대상을 선정하는 것은 안티패턴이다.
- 특정 예외를 개별적으로 처리하지 않고 하나의 catch 블록으로 모든 예외를 잡는 방식이다.
문제점
- 정보 손실 : 에러 타입을 특정할 수 없어진다.
- 정확성 부족 : 예외를 구체적이고 타겟팅된 방식으로 처리할 기회를 박탈당한다.
- 코드 복잡성 : 의미있는 에러처리가 아니게 되므로 불필요한 catch로 코드가 도배될 수 있다.
- 오류 마스킹 : 에러마다 다르게 처리해야하는 경우 오류가 마스킹 될 수 있다.
해결
- 특정 예외 처리하기
- catch를 세분화 해서 처리하기
- 에러 변환해서 다시 던지기
- try-with-resource 사용
- 예외 로깅