Item72. 표준 예외를 사용하라!
Intro
- 숙련된 프로그래머는 그렇지 못한 프로그래머보다 더 많은 코드를 재사용한다.
- 예외도 마찬가지다. 재사용하는 것이 좋으며, 자바 라이브러리는 대부분 API에서 쓰기에 충분한 수의 예외를 제공한다.
표준 예외 사용의 장점
- 작성한 API가 다른 사람이 익히고 사용하기 쉬워진다는 점이다.
- 낯선 예외를 사용하지 않게 되어 가독성도 좋아진다.
- 예외 클래스 수가 적을수록 메모리 사용량도 줄고 클래스를 적재하는 시간도 적게 걸린다.
- 더 많은 정보를 제공하고 싶다면 표준 예외를 확장해도 좋다.
- 예외는 직렬화가 가능하다. 직렬화에는 많은 부담이 따르니 이러한 사실만으로도 예외를 새로 만드는 것은 좋지 않다.
주의할 점
- Exception, RuntimeException, Throwable, Error는 직접 재사용하지 말자.
- 이 클래스들은 추상 클래스라고 생각하자.
- 다른 예외들의 상위 클래스이므로 여러 성격의 예외를 포함하고 있어 안정적인 테스트가 불가능하다.
널리 사용되는 표준 예외
예외 | 주요 쓰임 |
---|---|
IllegalArgumentException | 허용하지 않는 값이 인수로 건네졌을 때 (null은 따로 처리됨) |
IllegalStateException | 객체가 메서드를 수행하기 적절하지 않은 상태일 때 |
NullPointerException | null을 허용하지 않는 메서드에 null을 건냈을 때 |
IndexOutOfBoundsException | 인덱스가 범위를 넘어섰을 때 |
ConcurrentModificationException | 허용하지 않는 동시 수정이 발견됐을 때 |
UnsupportedOperationException | 호출한 메서드를 지원하지 않을 때 |
ArithmeticException, NumberFormatException | 복소수나 유리수를 다룰 때 |
- ‘주요 쓰임’ 열에 기입한 내용이 상호 배타적이니 않다. 그렇기에 종종 재사용할 예외를 선택하기 어려울 수 있다.
Comments powered by Disqus.