아이템 63. 어떤 오류인지를 드러내는 정보를 상세한 메시지에 담아라.
63. 어떤 오류인지를 드러내는 정보를 상세한 메시지에 담아라.
오류 정보를 포착해 내기 위해서는, 오류의 상세 메시지에 예외에 관련된 모든 인자와 필드 값 을 포함 시켜야 한다.
- 예외 상세메세지 : 예외 원인을 파악하는 메세지
- 사용자 레벨 오류 메시지 : 어플리케이션을 이용하는 최종사용자(end user)를 위한 메시지
/**
* Construct an IndexOutOfBoundsException.
*
* @param lowerBound the lowest legal index value.
* @param upperBound the highest legal index value plus one.
* @param index the actual index value.
*/
public IndexOutOfBoundsException(int lowerBound, int upperBound, int index){
// 오류를 포착하는 상세 메시지 생성
super(
"Lower bound: " + lowerBound +
", Upper bound: " + upperBound +
", Index: " + index
);
// 프로그램에서 사용할 수 있도록 오류 정보 보관
this.lowerBound = lowerBound;
this.upperBound = upperBound;
this.index = index;
}