Search

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

생성일
2023/08/15 04:58
챕터
10장 - 예외

요약

일반적인 상황에서의 예외라면, 예외를 만들어서 사용하지말고 가급적 표준 예외들을 재사용하자.

표준 예외 재사용하기

표준 예외를 재사용하면 사용한 API가 다른 사람들에게 익히고 사용하기 쉬워진다. 또한 가독성이 좋아지고, 예외 클래스 수가 적을수록 메모리 사용량도 줄고 클래스를 적재하는 시간도 적게 걸린다.
예외
주요 쓰임
IlleagalArgumentException
허용하지 않은 값이 인수로 전달받았을 때(null인 경우에는 따로 NPE로 처리)
IlleaglStateException
객체가 메서드를 수행하기에 적절하지 않은 상태일 때(초기화 되지 않음 등등)
NullPointerException
null을 허용하지 않는 메서드에 null을 건넸을 때
IndexOutOfBoundsException
인덱스가 범위를 넘어섰을 때
ConcurrentModificationException
허용하지 않는 동시 수정이 발견됐을 때(단일 스레드에서 사용하려 만든 객체를 여러 스레드에서 수정하려 할 때)
UnsupportedOperationException
호출한 메서드를 지원하지 않을 때(클라이언트가 요청한 동작을 대상 객체가 지원하지 않을 때, 주로 인터페이스를 구현하는 경우 일부를 구현할 수 없을 때 사용)
Exception, RunTimeException, Throwable, Error는 직접 재사용하지 말자. 여러 성격의 예외들을 포괄하는 클래스이기 때문에, 이 클래스들을 추상 클래스라 생각하고 상속받아 사용하고 직접 사용하지는 말자.