위와 같은 리뷰 혹은 예외메시지를 적지 않아 날라오는 리뷰를 본 경험이 있을 것이다.
예외를 잡지 못 하고 프로그램이 실패하면 그 예외의 스택 추적(stack trace) 정보를 자동으로 출력한다.
스택 추적은 예외 객체의 toString 메서드를 호출해 얻는 문자열로 클래스 이름 뒤에 상세 메시지가 붙는 형태다.
이 정보는 프로그래머가 얻을 수 있는 유일한 정보인 경우가 많다. 실패를 재현하기 어렵다면 더 자세한 정보를 얻는 경우는 불가능에 가깝다. 메시지에 실패 원인에 대한 정보를 가능한 많이 담아 반환하는 일은 중요하다.
위 스택 트레이스처럼 예외 메시지가 없다면 실패에 대한 원인을 분석하는 작업이 필요하다.
실패 순간을 포착하려면 발생한 예외에 관여한 모든 매개변수와 필드의 값을 실패 메시지에 담아야 한다.
메시지가 없는 경우
벗어난 인덱스만 알려주는 경우
최솟값, 최댓값, 인덱스를 모두 알려주는 경우
위 정보는 실패에 관한 많은 것을 알려준다.