brunch

You can make anything
by writing

C.S.Lewis

by 이승현 Sep 04. 2018

예외(Exceptions)

#63 실패 상황 정보를 상세 메시지에 포함하자

Effective Java - 예외(Exception)


#63 실패 상황 정보를 상세 메시지에 포함하자


#01 Exception stack trace


catch하지 않은 예외(exception)가 발생하면, 시스템에서 자동으로 스택 추적 정보(stack trace)를 출력합니다.


#02 toString method


이때 출력되는 문자열은 toString 메서드가 반환하는 정보입니다.

클래스 이름과 상세 메시지(detailMessage)가 결합된 형태로 구성되어 있습니다.


이 스택 추적 정보를 분석해, 실패 원인을 파악하고 수정해야 하기 때문에 중요한 정보를 가지고 있어야 합니다.


이를 위해 "예외 발생에 기여한" 모든 매개 변수와 필드의 값이 예외의 상세 메시지에 포함되어야 합니다.


이때 주의할 점은, 너무 상세하게 사용자 수준의 에러 메시지를 담기보다는, 실패 원인을 분석할 때 프로그래머에게 도움이 되는 메시지를 담아야 합니다.


예를 들면, IndexOutOfBoundsException의 상세 메시지는 인덱스의 하한 값, 상한 값, 실패 시점의 인덱스 값이 포함되어야 합니다.


#03 IndexOutOfBoundsException


#04 IndexOutOfBoundsException stack trace



매거진의 이전글 예외(Exceptions)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari