아이템 06. 사용자 정의 오류보다는 표준 오류를 사용하라

아이템 06. 사용자 정의 오류보다는 표준 오류를 사용하라

사용자 정의 오류보다는 표준 오류를 사용하라 #

가능하다면, 직접 오류를 정의(커스텀 Exception)하는 것보다는 최대한 표준 라이브러리의 오류를 사용하는 것이 좋다. 표준 라이브러리의 사용은 범용성↑ 을 의미한다. (많은 개발자가 이미 알고 있다.)

잘 만들어진 규약을 재사용하는 것은 코드(API)를 더 쉽게 만드는 것이라고 볼 수 있다.


일반적으로 사용되는 Exception #

일반적으로 많이 사용되는 Exception 몇 가지를 살펴본다.

Exception설명
IllegalArgumentException생략
IllegalStateException생략
IndexOutOfBoundsException생략
ConcurrentModificationException동시 수정(concurrent modification)을 금지했으나, 발생한 경우
UnsupportedOperationException사용자가 사용하려는 메서드가 현재는 사용할 수 없는 상태(지원되지 않는 상태)

단, 기본적으로 사용할 수 없는 메서드는 코드(클래스)에 없는 것이 좋다.
(사용할 수 없다면 미래에 작성해야 하겠다. 단, 추상 메서드등을 작성해야 할 때, 의도적으로 클라이언트에게 메시지를 전달할 때와 같이 불가피한 경우도 있겠다.)
NoSuchElementException사용자가 사용하려는 요소가 존재하지 않는 상태

예를 들어, 내부에 요소가 없는 Iterable 에 next()를 호출했을 때