오류(Error)는 개발자가 미리 예측하여 방지할 수 없는 시스템이 종료되어야 할 수준의 상황과 같이 수습할 수 없는 심각한 문제를 의미
예외(Exception)는 오류와 달리 개발자가 미리 예측하여 방지할 수 있기에 상황에 맞는 예외처리(Exception Handle)를 해야하는, 개발자가 구현한 로직에서 발생한 실수나 사용자의 영향에 의해 발생
현재 진행중인 Board Project에서 예외처리를 하기 위하여 "IllegalArgumentException"을 사용하였다. 하지만 유지보수면에서 보게 되면 굉장히 불편한 부분이 있었고, 또 해당 프로젝트 과제 중 예외처리도 포함이 되어 있어 예외처리및 오류와 에러에 대해 공부를 해보았다.
첫번째로는 IllegalArgumentException과 중복되는 메세지들을 한곳에 모아 ExceptionEnum을 구축하고 ExceptionEnum을 실행 할 수 있는 ServiceException을 만들었다. 하지만 여전히 내가 원하는 body response 값을 받을 수 없는 상황이고, throw문일 경우에는 ServiceException이 throwable하지 않기때문에 해당 부분은 IllegalArgumentException처리를 해두었다.