Item49. 매개변수가 유효한지 검사하라
매개변수 검사 시점
method와 생성자 대부분은 입력 매개변수의 값이 특정 조건을 만족하기를 바란다. 예컨대 인덱스 값은 음수이면 안되며, 객체 참조는 null이 아니어야 한다는 식이다.
이런 제약은 반드시 문서화해야 하며, method 몸체가 시작되기 전에 검사해야 한다.
method 몸체가 실행되기 전에 매개변수를 확인한다면, 잘못된 값이 넘어왔을때 즉각적이고 깔끔한 방식으로 예외를 던질 수 있다.
그렇지 않은 경우에는 다음과 같은 단점을 가질 수 있다.
- method가 수행되는 중간에 모호한 예외를 던지며 실패할 수 있다.
- 잘못된 결과가 나온다.
- 객체를 이상한 상태로 변경해서 , 해당 method에서는 정상적으로 수행되는 것 처럼 보이지만, 미래의 시점에서 해당 method와 관련없는 오류를 낸다.
매개변수 검사 관련 문서화
public 과 protected method는 매개변수 값이 잘못됬을 떄 던지는 예외를 문서화해야한다. (@throws javadoc 이용)
예를 들면 다음과 같다.
1 | /*** |