Spring MVC框架在接收到请求后,会自动调用处理请求的方法,如果调用的控制器中方法抛出异常,Spring MVC会捕获到此异常对象,
并尝试调用统一处理异常的机制,如果没有统一处理异常的机制,则会响应500错误。
关于统一处理异常,需要自定义类,在类上添加@ControllerAdvice注解,添加此注解的类中的注解方法将可以作用于每一次处理请求的过程。
然后,在类中添加处理异常的方法,关于此方法:
publicString作为返回值类型,并结合@ResponseBody注解一起使用,或者,使用@RestControllerAdvice替代@ControllerAdvice,则此类中所有方法向客户端响应时,都是响应正文的HttpServletRequest、HttpServletResponse等少量指定类型的参数,不可以添加其它参数@ExceptionHandler注解@ExceptionHandler
public String handleThrowable(Throwable e) {
log.error("统一处理未明确处理的异常【{}】,将向客户端响应:{}", e.getClass().getName(), e.getMessage());
return "服务器忙,请联系管理员!";
}