exception response from slave(Spring Boot中Controller的统一异常处理)

本文目录
Spring Boot中Controller的统一异常处理
我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射: /error ,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。
虽然,Spring Boot中实现了默认的 error 映射,但是在实际应用中,上面你的错误页面对用户来说 并不够友好 ,我们通常需要去实现我们自己的异常提示。
下面我们以之前的Web应用例子为基础,进行统一异常处理的改造。
通过使用 @ControllerAdvice 定义统一的异常处理类,而不是在每个Controller中逐个定义。 @ExceptionHandler 用来定义函数针对的异常类型,最后将Exception对象和请求URL映射到error.html中。
在templates目录下创建error.html,将请求的URL和Exception对象的message输出。
***隐藏网址***
通过实现上述内容之后,我们只需要在Controller中抛出Exception,当然我们可能会有多种不同的Exception。然后在 @ControllerAdvice 类中,根据抛出的具体Exception类型匹配 @ExceptionHandler 中配置的异常类型来匹配错误映射和处理。
在上述例子中,通过 @ControllerAdvice 统一定义不同Exception映射到不同错误处理页面。而当我们要实现RESTful API时,返回的错误是JSON格式的数据,而不是HTML页面,这时候我们也能轻松支持。
本质上,只需在 @ExceptionHandler 之后加入 @ResponseBody ,就能让处理函数return的内容转换为JSON格式。
下面以一个具体示例来实现返回JSON格式的异常处理。
code:消息类型,message:消息内容,url:请求的url,data:请求返回的数据
至此,已完成在Spring Boot中创建统一的异常处理,实际实现还是依靠Spring MVC的注解,更多更深入的使用可参考Spring MVC的文档。
an error occurred怎么解决
这很有可能是电源管理软件卸载不干净导致的。
方法一:
首先在桌面按下“Win + R”快捷键打开运行窗口,输入“cmd”并点击确定打开命令提示符,如果不是管理员账户的话需要打开 “开始菜单--所有程序--附件”。
然后在命令提示符上单击右键,选择“以管理员身份运行”;进入命令提示符窗口后,输入“sfc”并按下回车键。
接着按照提示继续输入“ /SCANNOW ”,按下回车键便会开始扫描修复系统中缺失的文件了,之后重启计算机。
方法二:
打开计算机,进入“ C:\Windows\System32 ”目录下;找到“PWMCP64V.cpl”文件,并将该文件删除,然后重启计算机即可;如果无法删除可以进入安全模式进行删除。
屏幕忽亮忽暗是怎么回事?
这个屏幕忽亮忽暗的现象是这样的。当电脑显示明亮内容的时候,例如白色为主题的网页,那么屏幕亮度就会比较高。
而当显示暗调内容,例如苹果官网那种大片黑底的网页之时,亮度就会特别低。
这个问题常见于Win10系统当中,特别是很多笔记本电脑用户,都观察到了这一现象。这其实并不是一个Bug,而是一个特性。
这样的设定是为了让电脑显示黑的时候更黑、亮的时候更亮,同时也更加节能。黑的时候降低亮度,可以减少背光功耗了。
另外,这项特性其实是由英特尔提供的,作用于英特尔集显平台上,并不是Win10的什么Bug。
目前很多笔记本电脑都是用英特尔的方案,因此笔记本用户特别容易观察到这一现象。
屏幕忽亮忽暗要如何解决?
知道了问题从何而来,就有了解决办法。首先,我们需要找到英特尔的驱动控制软件“Intel Graphics Control Panel”。
如果你用的是带有英特尔集显的笔记本,一般来说厂商会预装有这一组件;如果没有,到英特尔官网下载安装即可。之后在开始菜单或者直接通过搜索,即可找到它了。
开启后,找到其中“电源”,点击进去,即可看到“显示器节能技术”这一项目,这就是导致屏幕忽亮忽暗的罪魁祸首。
将“显示器节能技术”改为“禁用”,最后点击界面右下方的“应用”,之后屏幕就不会再出现亮度抽风的情况了!
可见,这其实是一个驱动方面的小问题,这样的设置有点类似以前显示器流行的“动态对比度”,体验并不怎样。

更多文章:
python怎么读字体(Python在读取中文文件,编码是ANSI格式的,希望能够将汉字一个一个输出所以想转成UTF-8的求解)
2026年9月6日 16:45
invest的用法及短语(invest sth 与invest in sth的区别)
2026年9月8日 00:15
config是什么意思车上的(别克英朗config按键在哪里)
2026年9月4日 12:45
策划英语strategy(英语单词:ploy plot strategy 都有策略 阴谋 的意思 其具体的区别和用法是如何)
2026年8月26日 22:15
雅思写作discuss和opinion(雅思作文关于discuss both views and give your opinion的解题思路)
2025年11月29日 08:15
css嵌套写法(为什么有人写css可以把选择器嵌套在大括号里是用了什么框架吗如下)
2026年6月11日 21:45
jquery引用哪个版本(jquery.form.js 需要jquery哪个版本)
2026年9月6日 00:30
live2d怎么导出json(必剪虚拟形象导出到live2d)
2026年7月24日 09:00
春节的庆祝方式英语(如何向韩国留学生解释spring+festival+是中国新年)
2026年1月31日 18:15
description的作用只有一个(Description详细资料大全)
2025年8月30日 04:15
microstrategy公司(全球有哪些企业公开持有数字货币)
2026年1月25日 11:45












