[Effective Java] 60. 표준 예외를 사용하라.

최대 1 분 소요

자바 플랫폼 library에는 대부분 api가 필요로 하는 Runtime Exception이 갖춰져 있다.

수준 높은 코드는 코드 재사용성이 높다. Exception역시 마찬가지다.

참고로 Exception을 재사용 할때는 예외를 발생시키는 조건이 문서에 기술된 것과 일치해야 한다. 이름만 보고 재사용해서는 안되고 의미적으로도 맞아야 한다.

표준 Exception 사용의 장점

  1. 다른 개발자들도 잘 알기 때문에 배우기 쉽고 사용하기 편리한 api를 만들 수 있다.
  2. 위와 같은 이유로 인해 구현된 코드의 가독성이 높다.

표준 Exception 예

1. IllegalArgumentException

잘못된 값을 인자로 사용했을 때

아래 NullPointerException, IndexOutOfBoundsException 도 결국은 인자가 잘못된 경우인데 이 두가지는 보통 IllegalArgumentException를 사용하지 않고 각각 NullPointerException, IndexOutOfBoundsException를 사용한다.

2. IllegalStateException

현재 객체의 상태로는 호출할 수 없는 메서드를 호출했을 때

3. NullPointerException

null이면 안되는 인자가 null일때

4. IndexOutOfBoundsException

인자로 주어진 첨자가 범위를 벗어났을때

5. ConcurrentModificationException

하나의 Thread에서 사용되도록 설계된 객체나, 외부적인 동기화 수단과 같이 이용되어야 하는 객체를 여러 Thread가 동시에 변경하려고 했을때

6. UnsupportedOperationException

객체가 호출된 메서드를 지원하지 않을때

사용 빈도가 아주 낮다. 대부분 객체는 자기 메서드를 지원하는게 보통이기 때문이다. 이 예외는 인터페이스에 정의된 메서드 중 어떤 한가지만 지원하지 않는 경우가 있다던가 하는 경우에 사용할 수 있다.

댓글남기기