Как Spring MVC обрабатывает необработанные исключения, возникающие в контроллерах
Необходимо понимать, как Spring MVC обрабатывает неперехваченные исключения, если не существует обработчика неперехваченных исключений, явно предоставленного приложением. Может ли сценарий, в котором несколько одновременных запросов, все из которых вызывают необработанные исключения, повлиять на пул потоков Tomcat или привести к зависанию.
1 ответ
Ты можешь использовать @ControllerAdvice
( подробнее):
Например:
@ControllerAdvice
public class ControllerExceptionHandler {
@ExceptionHandler(value = AccessDeniedException.class)
public ModelAndView accessDeniedError(HttpServletResponse response) {
response.setStatus(HttpServletResponse.SC_FORBIDDEN);
return new ModelAndView("/403");
}
@ExceptionHandler({SQLException.class,DataAccessException.class})
public ModelAndView databaseError() {
....
}
...
}