Java ‐ 표준 예외를 사용하라[Effective Java Item 72] - thought-corner/Backend-PlayGround GitHub Wiki
- 예외도 마찬가지로 재사용하는 것이 좋으며, 자바 라이브러리는 대부분 API에서 쓰기에 충분한 수의 예외를 제공한다.
Exception,RuntimeException,Throwable,Error는 직접 재사용하지 말아야 한다.- 위에 나열한 클래스들은 "추상 클래스"라고 생각하자.
| 예외 | 주요 쓰임 |
|---|---|
IllegalArgumentException |
허용하지 않는 값이 인수로 건네졌을 때 |
IllegalStateException |
객체가 메서드를 수행하기에 적절하지 않은 상태일 때 |
NullPointerException |
null을 허용하지 않는 메서드에 null을 건넸을 때 |
IndexOutOfBoundsException |
인덱스가 범위를 넘어섰을 때 |
ConcurrentModificationException |
허용하지 않는 동시 수정이 발견되었을 때 |
UnsupportedOperationException |
호출한 메서드를 지원하지 않을 때 |
- 상황에 부합한다면 항상 표준 예외를 재사용하자.
- 단, 예외는 직렬화할 수 있다는 사실을 기억하자. 이 사실만으로도 자신만의 예외를 새로 만들지 말아야 할 근거로 충분할 수 있다.