若依开发框架解析笔记(10)-全局异常的处理
ccwgpt 2025-03-20 12:54 36 浏览 0 评论
在开发的过程中,会遇到大量的各种各样的异常需要去处理,并且在前后端分离的开发中,还有存在如何与前端约定,要让前端分清楚什么样的异常应该展现什么的内容提示给用户,一般不建议直接把一些框架内部抛出的异常直接展现到前台页面上去,都是要进行统一格式的封装,以便前端进行统一的处理。
一般来SSM框架的异常在每一层都会有不同的异常,比如数据层会有和数据库交互出现的异常。业务层会有一些业务报错,控制层中也会出现一些请求路径错误这些异常。
捕获异常可以使用try,catch代码块来捕获异常,不过这样子会造成代码出现大量的重复代码。所以,若依框架里面使用了SpringMVC自带的全局异常处理器来处理各种异常。通过使用@RestControllerAdvice来对controller层里面的异常统一进行处理。使用的方法也是相对比较固定的。
下面的代码块是里面的一个例子。AccessDeniedException这个异常是springSecurity里面的异常,@ExceptionHandler()这个注解表明,一但捕获到括号里面的异常,将终止原来控制层方法的执行,并且转入当前的方法执行,当前方法里面会对异常做处理,获取一些信息,例如例子中的uri请求,然后通过封转好的ajax请求返回给前台进行处理。
/**
* 权限校验异常
*/
@ExceptionHandler(AccessDeniedException.class)
public AjaxResult handleAccessDeniedException(AccessDeniedException e, HttpServletRequest request)
{
String requestURI = request.getRequestURI();
log.error("请求地址'{}',权限校验失败'{}'", requestURI, e.getMessage());
return AjaxResult.error(HttpStatus.FORBIDDEN, "没有权限,请联系管理员授权");
}
框架的作者在common这个工程中自定义了很多类型的异常。比如用户信息类的异常,业务异常,工具类异常等,我们后续二次开发的时候还可以根据自己的需求自行添加。
最后总结一下全局异常的使用大致流程,首先通过了SpringMVC中自带的全局异常处理器,捕获到控制层中的异常,然后进行后续的对异常的处理,并且把封装好的结果返回给前台。如果是在service层中的异常,则还需使用try catch捕获,然后返回给对应的控制层。
相关推荐
- ai结合这3个开源架构图工具,画架构图不再纠结
-
工具介绍MermaidPlantUMLDiagramMermaid官网地址:Mermaid|Diagrammingandchartingtool只需要很简单的代码,就能够画出流程图、时序图、...
- 怎么用DeepSeek生成系统架构图?DS高级使用技巧分享!
-
系统架构图怎么画?熟悉系统架构图的人都知道,架构图是对现实系统的抽象归纳和概括,包含了多个层级和元素,譬如组件、连接、分层、边界、接口、协议和数据流等,而且层级元素间涉及逻辑关系,错综复杂,这对初次绘...
- 零基础3步画绝美国风美景!彩铅+马克笔就能画出诗意青绿山水
-
黛瓦连绵岁月悠,檐头一抹绿惊眸。不知何日化灵种,许是春风巧意留。沐雨经霜添秀色,凌虚向宇展清柔。此般青绿融残梦,静守时光意自幽。最近发现越来越多朋友开始尝试传统文化相关的手工创作,作为深耕绘画领域多年...
- 如何在PDF文档中绘制流程图?
-
教师在制作教学大纲时,如何绘制教学流程图以展示课程安排?高校行政人员,如何绘制流程图,来清晰地展示各项事务的办理流程?在实验课程中,如何绘制实验流程图,方便学生查看实验步骤和操作顺序?利用福昕高级PD...
- 儿童画教程|透视的魔法:教你画海底隧道
-
小朋友们,今天我们要学习一种特别的绘画技巧,它的名字叫“一点透视”。听起来是不是有点陌生?别担心,如果我举几个例子,你们一定会觉得特别熟悉!比如,当你站在一条笔直的马路上,远处的路看起来是不是越来越窄...
- 每天学习一个AI小技巧:如何用AI帮助我们绘制思维导图?
-
1.让DeepSeek生成某本书或其他内容的思维导图。例如,生成一张关于《控制习惯》的思维导图,内容尽可能详细,涉及到全书的所有核心内容。2.将DeepSeek生成思维导图的框架内容复制到ima...
- KIMI自动生成组织架构图,不要再傻傻的,一个一个的画了
-
今天跟大家分享下,我们如何使用KIMI来快速的制作组织架构图,相较于Deepseek,Kimi可以预览结果,还能直接下载架构图为图片,比Deepseek方便不少,每个AI工具都有自己的特点,大家不要死...
- 架构图怎么画?推荐7款专业的架构图绘制软件,支持AI画图
-
在绘制架构图这件事上,好用的工具能让我们事半功倍。今天就给大家介绍几款绘制架构图的工具,其中就不得不提到亿图图示。1、亿图图示亿图图示是一款功能强大的图形图表设计软件,非常适合用来绘制架构图。它提供了...
- 组织结构图的绘制方法
-
组织结构图是一种用于展示组织内部结构和层级关系的重要工具。它不仅能够帮助管理者清晰地了解各部门之间的关系,也能为员工提供明确的职责和汇报线。绘制一幅有效的组织结构图需要一定的方法和步骤。本文将详细介绍...
- 如何画一张架构图(内含知识图谱)
-
走过路过不要错过今日精彩话题,感谢大家的阅览,希望能获得您的点赞关注评论小编在此先祝大家天天开心,日进斗金!年年快乐!0102工作五年,我是做架构设计的,整天忙于画图开会,家里装修啥也不管,赚的...
- Google Play强制新规:应用必须适配16 KB页面大小
-
IT之家5月10日消息,科技媒体9to5Google昨日(5月9日)发布博文,报道称谷歌将于2025年11月1日开始,其GooglePlay应用商店将推行新规,针对...
- 谷歌拟将eSIM纳入Google One账号备份,Android换机有望更便捷
-
IT之家4月30日消息,现如今eSIM正逐渐引起用户关注,其相比实体SIM卡使用起来更为方便。但如果手机损坏,使用eSIM的用户往往难以自行恢复网络服务——因为eSIM无法...
- Google Play收款方式
-
GooglePlay是全球知名的应用商店,为开发者们提供了广阔的盈利空间。当开发者们在GooglePlay上发布的应用或游戏获得收入后,选择合适的收款方式能使收益最大化。下面将详细介绍Google...
- 谷歌推出Android跨设备共享功能,实现无缝切换与热点共享
-
来源:环球网【环球网科技综合报道】7月30日,据engadget等媒体消息,谷歌近日正式推出了其全新的跨设备共享功能,这一创新服务允许用户在手机、平板电脑和Chromebook之间即时共享热点,甚至...
- 要变天了?谷歌正式放弃安卓APK 采用AAB
-
近日外媒AndroidAuthority报道了一则重要消息,那就是谷歌正式宣布安卓APK被AAB取代,8月份开始所有在GooglePlay商店的应用,都需要采用AAB格式。据悉,AAB格式在201...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- MVC框架 (46)
- spring框架 (46)
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- laravel框架 (46)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- JAVA集合框架 (47)
- grpc框架 (55)
- ppt框架 (48)
- 内联框架 (52)
- winform框架 (46)
- gui框架 (44)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)
- oracle提交事务 (47)