안녕하세요 궁금해서 글을 남겨 봅니다. 보통 회사에서는 Exception 처리를 어떻게 하는지 궁금합니다.
@ControllerAdvice로 처리를 하면 중앙에서 처리가 가능해서 좋고 @ExceptionHandler를 이용해서 처리를 하면 Exception 건바이건으로 처리가 가능해서 좋고, try ~ catch로 처리를 하면 메소드 단위로 해서 좋긴 한데...
관리적 측면과 확장성, 유지보수를 생각할때 어떻게 처리하는게 가장 이상적일까요?
5개의 의견 from SLiPP
횡적으로 처리할 예외사항이 있고, 그렇지못한 예외사항이 있고로 구분할 필요가 있다고 생각합니다. 말씀하신 부분은 횡적으로 처리할 예외사항과 그렇지 못한 예외사항이 섞여있는 느낌이여요.
회사 업종은 게임인데, 사내에서는 @ControllerAdvice 를 통해 일반적인 예외처리를 하고 있기는 합니다. 다만, 상황에 따라 try/catch 를 활용하여 다른 예외처리를 필요에 따라 사용중입니다.
@김문수 '횡적으로' 라고 말씀하신 부분의 의미를 설명해 주실수 있을까요? 궁금합니다.
@로프
객체지향을 넘어 관점지향으로 AOP
토비 이일민님의 AOP 관련 글인데 "AOP의 필요성" 문단까지만 보셔도 '횡적으로'(횡단 관심사)라는 표현을 이해하실 때 도움이 될 것 같아요.
원문은 찾을 수가 없어서 구글 저장된 페이지 링크 남깁니다.
checked와 unchecked 종류로 구분해서 구성하지는 않는가 보군요! 프레임워크를 exception 관리에 대한 정의가 필요가 해서 물어본거였는데... 아직은 적절한 해답을 찾지 못했습니다.
무조건적으로 UnChecked Exception이 능사는 아니겠지만 ... 아래 링크의
Checked Exception(SQLException)을 UnChecked Exception(DataAccessException)으로 래핑한 이유도 고려해 볼만 할 것 같아요.
자바지기님의_DAO리팩토링_강의자료
"DAO 리팩토링 5 - SQLException을 DataAccessException으로 래핑" 부분
스프링의 DataAccessException
객체지향을 넘어 관점지향으로 AOP
부분 바로 위 예제의 "AccountException" 역시 UnChecked Exception일 것 같네요.
의견을 남기기 위해서는 SLiPP 계정이 필요합니다.
안심하세요! 회원가입/로그인 후에도 작성하시던 내용은 안전하게 보존됩니다.
SLiPP 계정으로 로그인하세요.
또는, SNS 계정으로 로그인하세요.