Spring MVC如何处理控制器中引发的未捕获异常?

时间:2016-06-14 07:51:33

标签: spring spring-mvc tomcat threadpool uncaught-exception

如果应用程序没有明确提供未捕获的异常处理程序,我需要了解Spring MVC如何处理未捕获的异常。多个并发请求都会引发未捕获的异常会影响Tomcat的线程池泄漏或挂起的情况吗?

1 个答案:

答案 0 :(得分:1)

您可以使用@ControllerAdvicemore details):

例如:

@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() {
        ....
    }

    ...

}