使用原因
Spring Boot 默认错误机制会返回一个Whitelabel Error Page 的错误页面,不够友好,所以使用 @ControllerAdvice 和 @ExceptionHandler 来通用处理异常。
实现步骤
- 新建一个通用处理异常的类
CustomizeExceptionHandler,集中处理异常。
1 |
|
- 继承自
RuntimeException的异常类。
1 | public class CustomizeException extends RuntimeException { |
- 自定义一个错误代码的接口。
1 | public interface ICustomizeErrorCode { |
- 实现
ICustomizeErrorCode接口。
1 | public enum CustomizeErrorCode implements ICustomizeErrorCode { |
在
Controller层实现默认的ErrorController,替代ErrorController默认的错误处理操作。当
CustomizeErrorController捕获到4**错误时,返回客户端请求错误的信息,5**错误时返回服务器错误信息。
1 |
|
在
templates目录下新建error.html页面,用来显示错误处理。css和js的引入一定要在前面加个/,表示是在根目录下的样式,否则会出现样式找不到的错误。
1 |
|
- 在
service层使用。
1 | Question question = questionMapper.selectByPrimaryKey(id); |
- 结果如图所示。
