개발서적/이펙티브자바
[예외]규칙60. 표준 예외를 사용하라
오태림
2017. 5. 6. 17:56
이미 있는 예외들을 재사용하면 좋은 점이 많다.
- 배우기 쉽고 사용하기 편리한 API를 만들 수 있다. 다른 프로그래머들도 친숙하고, 널리 퍼진 관습을 따르기 때문이다
- 가독성 높은 API가 될 수 있다. 잘 모르는 예외가 뒤섞여 있지 않기 떄문이다.
- 예외 클래스 개수를 줄이면 프로그램의 메모리 요구량이 줄어들고, 클래스를 로딩하는 시간도 줄어든다는 것
예외 |
용례 |
IllegalArgumentException |
null이 아닌 인자의 값이 잘못되었을 때 |
IllegalStateException |
객체 상태가 메서드 호출을 처리하기에 적절치 않을 때 |
NullPointerException |
null 값을 받으면 안 되는 인자에 null이 전달 되었을 때 |
IndexOutOfBoundsException |
인자로 주어진 첨자가 허용 범위를 벗어 났을 때 |
ConcurrentModificationException |
병렬적 사용이 금지된 객체에 대한 병렬 접근이 탐지 되었을 때 |
UnsupportedOperationException |
객체가 해당 메서드를 지원하지 않을 때 |
재사용 할 수 있는 예외라 생각된다면, 재사용하면 된다. 하지만 예외를 발생시키는 조건이 해당 예외의 문서에 기술 된 것과 일치해야 한다. 애매한 상황에 대한 예외처리를 해야 할 때, 어떤 예외를 재사용하면 좋을지 결정하는 것은 엄밀한 과학적 절차를 따르지 않는다.