Effective Java 72. 표준 예외를 사용하라

eversong·2020년 9월 1일
0

EffectiveJava

목록 보기
28/35
post-thumbnail

표준 예외

표준 예외를 재사용한다면 얻는것이 많다. 내가 작성한 API가 다른 사람이 익히고 사용하기 쉬워지고, 많은 프로그래머에게 익숙한 규약을 그대로 따르기 때문이다. 그리고 여러분의 코드 역시 읽기 쉬워진다.

IllegalArgumentException

가장 많이 사용되는 예외이다. 호출자가 인수로 부적절한 값을 넘길 때 던지는 예외이다.

사용 예시) 반복 횟수를 지정하는 매개변수에 음수를 건넬 때

IllegalStateException

대상 객체의 상태가 호출된 메서드를 수행하기에 적합하지 않을 때 주로 사용된다.

사용 예시) 제대로 초기화되지 않은 객체를 사용하려고 할 때

ConcurrentModificationException

단일 스레드에서 사용하려고 설계한 객체를 여러 스레드가 동시에 수정할 때 던진다.

UnsupportedOperationException

클라이언트가 요청한 동작을 대상 객체가 지원하지 않을 때 사용된다.

사용 예시) 원소를 넣을수만 있는 List의 구현체에 누군가 remove 메서드를 호출할 때

그외

Exception, RuntimeException, Throwable, Error는 직접 사용하지 말자 이 클래스들은 추상 클래스라고 생각하기를 바란다. 이 예외들은 다른 예외들의 상위 클래스이므로 안정적으로 테스트 하기 어렵다.

정리

상황에 부합한다면 표준 예외를 사용하자, 더 많은 정보를 제공하기를 원한다면 예외를 확장해도 좋지만, 예외는 직렬화 가능하다는 사실을 기억하자

profile
책, 글, 개발

0개의 댓글