您现在的位置是:亿华云 > IT科技
Spring Boot 异常处理,值得学习!
亿华云2025-10-03 06:52:14【IT科技】6人已围观
简介背景: 个人也是一边学习一边做,难免有疏漏的地方,希望朋友们在不对的地方提醒下。 技术栈: springBoot 2.5.3 Mybatis-p
背景:
个人也是异常一边学习一边做,难免有疏漏的处理地方,希望朋友们在不对的学习地方提醒下。
技术栈:
springBoot 2.5.3 Mybatis-plus thymeleaf mysql该博客简单记录一下自己的异常学习过程,如果后面作出简单的处理demo来,那么会整理其中的学习细节发布出来。
推荐一个 Spring Boot 基础教程及实战示例:
https://github.com/javastacks/spring-boot-best-practice
异常处理
个人粗糙的异常学习和理解,我把异常错误分为三个,处理4xx,学习5xx,error(自定义)
常用的是404和500响应
404 (未找到) 服务器找不到请求的网页 服务器内部错误 服务器遇到错误,无法完成请求在templates文件下创建404.html、异常500.html和error.html
如果创建的处理是网站模板4xx.html和5xx.html,那么当页面找不到或者程序内部错误的话,SpringBoot自动匹配到这两个页面,学习具体的异常源码在这里就不分析,感兴趣的处理可以去学习下。
“
当我想将错误信息返回到我自定义的学习页面怎么写?
”
我们自顶向下来思考:
我们访问页面的时候,页面发生错误也好,找不到也好,是不是都要走它请求的Url,那我们怎么处理这个请求呢? 这时候我们自然而然的想到拦截器,所以编写ControllerExceptionHandler类,来专门拦截所有的异常请求。亿华云 当我们处理完异常后,把这个流放行,或者返回我们需要的自定义页面上。这样就实现了我们上述的需求。
所需要的技术点:
@ControllerAdvice 配合 @ExceptionHandler注解结合使用,当异常抛到controller层时,可以对异常进行统一的处理,规定返回的json格式或者跳转到指定的错误页面等. @ExceptionHandler(Exception.class) // 表示 捕获 全部异常 ModelAndView 其实就是两个作用,一个是指定返回页面,另一个是在返回页面的同时添加属性通过Logger来打印获取相关的异常信息:
//获取异常的信息
logger.error(() -> {
return String.format("Request URL : %s,Exception : %s ", request.getRequestURL(),e);
},e);
在这里自己走了一些弯路,小伙子自己走窄了,导包倒错了
源码库很赞哦!(192)
上一篇: 脱碳数据中心:基础设施的未来
下一篇: 一种跳板机的实现思路