자바에서 Exception 이 발생한 경우,
모든 Exception 은 적절히 복구되고 정확하고 친절한 로그를 남기거나
복구될 수 없는 경우 정확하고 친절한 로그를 남기고 작업이 취소되야한다.
예외를 Catch 했으면 적절한 처리를 하라.
예외 로그를 남길때는 정확하고 도움이 될 정보를 남겨라.
root cause 를 남겨라
구체적인 예외를 Catch 해라.
예외마다 처리 방법이 다르면 각각의 예외를 모두 Catch 하여 적절히 처리하라.
무슨 예외든 상관없이 처리방법이 같다면 적절한 예외로 변환하여 하나만 throw 해라
복구불가능한 System 관련 예외는 따로 catch 하지 않고
@ControllerAdvice 에서 로그레벨 error 로 친절한 메세지 로깅하고 500 리턴
복구가능한 예외는 Catch 하고 적절한 작업 후 친절한 메세지 로깅. 로그레벨은 info 응답은 400