使用原因
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); |
- 结果如图所示。