#63 실패 상황 정보를 상세 메시지에 포함하자
catch하지 않은 예외(exception)가 발생하면, 시스템에서 자동으로 스택 추적 정보(stack trace)를 출력합니다.
이때 출력되는 문자열은 toString 메서드가 반환하는 정보입니다.
클래스 이름과 상세 메시지(detailMessage)가 결합된 형태로 구성되어 있습니다.
이 스택 추적 정보를 분석해, 실패 원인을 파악하고 수정해야 하기 때문에 중요한 정보를 가지고 있어야 합니다.
이를 위해 "예외 발생에 기여한" 모든 매개 변수와 필드의 값이 예외의 상세 메시지에 포함되어야 합니다.
이때 주의할 점은, 너무 상세하게 사용자 수준의 에러 메시지를 담기보다는, 실패 원인을 분석할 때 프로그래머에게 도움이 되는 메시지를 담아야 합니다.
예를 들면, IndexOutOfBoundsException의 상세 메시지는 인덱스의 하한 값, 상한 값, 실패 시점의 인덱스 값이 포함되어야 합니다.