spring-boot配置方式集中处理异常,统一规范接口对外的异常输出。业务代码只需往外抛异常,不需过多关注异常的输出形式。
非系统抛出异常
对于400,404等非系统抛出的异常,使用以下方式:
|
|
对于状态码为400,404的响应会转到相应的请求/400
,/404
中处理。
系统抛出异常
对于系统抛出的异常,除了跳到错误页面之外,我们常常需要记录错误日志等信息,因此不使用上述方法。而是在处理类和方法上加上注解@ControllerAdvice
,@ExceptionHandler
,如下:1234567891011121314151617public class ErrorController { "/404" }) (value = { public String notFound() { return "404"; } (Exception.class) public String handleException(Exception e) { // 记录错误日志 return "Exception"; }}
在此类中一并处理非系统抛出异常,如上述的/404
请求。
参考:
Spring Boot Reference Guide,
Spring Framework Reference Documentation
-END-