Item 72. 표준 예외를 사용하라

표준 예외를 재사용함으로서 얻는 장점

  1. 많은 개발자가 이미 익숙해진 예외를 그대로 사용함으로서, 다른 개발자가 API를 사용하기 편해진다.
  2. 예외 클래스 수가 적을수록 메모리 사용량도 줄어들고, 클래스를 적재하는 시간도 적게 걸린다.

가장 많이 사용되는 예외 예시

  1. IllegalArgumentException : 호출자가 인수로 부적절한 값을 넘길 때, 던지는 예외
  2. IllegalStateException : 대상 객체의 상태가 호출된 메소드를 수행하기에 적합하지 않을 때 주로 던진다. ex) 초기화되지 않은 객체
  3. ConcurrentModificationException : 단일스레드에서 사용하려고 설계한 객체를 여러 스레드가 동시에 수정하려 할 때 던진다.
  4. UnsupportedOperationException : client가 요청한 동작을 대상 객체가 지원하지 않을때 던진다. ex) 삼입만 가능한 List구현체에 remove method호출
  • Exception, RuntimeException , Throwable, Error class의 경우 여러 예외들을 포괄하는 클래스임으로 직접 재사용하는 것을 지양하자.

  • IllegalStateException 과 IllegalArgumentException 중에 어떤 표준 예외를 쓸지 선택하기 어렵다면, 인수값이 무엇이든 실패한 경우는 IllegalStateException , 그렇지 않은 경우는 IllegalArgumentException을 던지자.

Comments