@ControllerAdvice
에러 발생시 @ControllerAdvice 적용된 파일에서 처리하기 위해 작성하는 어노테이션
@ControllerAdvice(basePackages = ''test)
라고 작성할 경우 test 패키지 안에서 발생하는 에러일 경우 적용된 파일에서 처리한다는 뜻
@ControllerAdvice(basePackages='test')
public class ExceptionAdvice{
/*
var 생략하여 {BusinessException.class, OracleException.class} 작성 가능하며 {BusinessException.class} 한개만 작성도 가능하다.
*/
@ExceptionHandler(var={BusinessException.class, OracleException.class})
public String testException(Exception e, Model model){
model.addAttribute("errorMessage", e.getMessage());
return "user/test";
}
}
/*
test 패키지 안에 BusinessException, OracleException 에러 발생한 경우에 해당 에러메시지를 표시하고
페이지를 리턴해주도록 구현한 코드
*/