CatchAll

  • 최상위, 추상적 에러로 에러 처리 대상을 선정하는 것은 안티패턴이다.
  • 특정 예외를 개별적으로 처리하지 않고 하나의 catch 블록으로 모든 예외를 잡는 방식이다.

문제점

  1. 정보 손실 : 에러 타입을 특정할 수 없어진다.
  2. 정확성 부족 : 예외를 구체적이고 타겟팅된 방식으로 처리할 기회를 박탈당한다.
  3. 코드 복잡성 : 의미있는 에러처리가 아니게 되므로 불필요한 catch로 코드가 도배될 수 있다.
  4. 오류 마스킹 : 에러마다 다르게 처리해야하는 경우 오류가 마스킹 될 수 있다.

해결

  1. 특정 예외 처리하기
  2. catch를 세분화 해서 처리하기
  3. 에러 변환해서 다시 던지기
  4. try-with-resource 사용
  5. 예외 로깅