全部try catch处理,全局异常
是否在写代码的时候遇到过这样一种情况,蛮项目写的都是try catch,尤其是controller,本来就是一个简单的sellect,写了贼多的代码.
是不是这个时候就想要一个全局的异常处理的机制来处理,是不是第一灵感就会想到切面.
下面来记录下全局异常捕获的方法
package com.example.demo11; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * @author :szy * @title: HelloController * @projectName demo11 * @description: TODO * @date 2020/10/30-11:40 */ @RestController public class HelloController { @GetMapping("/hello") public String hello(){ String val ="10-1"; //异常 Integer.valueOf(val); return "hello world"; } }
异常捕获代码
package com.example.demo11; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; /** * @author :szy * @title: UnifiedExceptionHandler * @projectName demo11 * @description: TODO * @date 2020/10/30-11:50 */ @Component @ControllerAdvice public class UnifiedExceptionHandler { private Logger log = LoggerFactory.getLogger(UnifiedExceptionHandler.class); /** * 自定义异常 * @param e 异常 * @return 异常结果 */ @ExceptionHandler(value = NumberFormatException.class) @ResponseBody public String handleNumberFormatException(NumberFormatException e) { log.error(e.getMessage(), e); return "转换错误"; } /** * 全局异常处理 * @param e 异常 * @return 异常结果 */ @ExceptionHandler(value = Exception.class) @ResponseBody public String handleBaseException(Exception e) { log.error(e.getMessage(), e); return "error 0000"; } }
重点:controller连不要写try cath ,不然不会被最顶层捕获
运行的结果:
转载请注明出处:http://www.lntyys.com/article/20230328/748596.html
随机推荐
-
php输出全部gb2312编码内的汉字方法
php输出全部gb2312编码内的汉字,$area表示分区,$pos表示分区内所在位置。 php $fp = fopen('t.txt', 'a'); for($area = 0xb0; $area = 0xf7; $area++) ...
-
如果全部为真,则在numpy中为真
我有两个数组:arr1 = np.linspace(1, 10, 10) arr2 = np.linspace(50, 100, 10)复制然后我想做的是:arr1 * arr2 == arr2 * arr1复制但是我希望得到一个单独的Tr...
-
全部作业详解
# 1.想办法打印出jason l1 = [11, 22, 'kevin', ['tony', 'jerry', [123, 456, 'jason']]] '''分步操作''' # 1.先看大列表到底有几个数据值 以及我们想要的数据值在...
-
MDX全部计算平均值
在ALL列中,如果是2010年和假日,我想要总收入的平均值,但我得到的是所有收入的总和。也许有人能帮上忙?WITH MEMBER [Measures].[Income] AS [Measures].[Average Inco...
-
正则表达式全部符号最强解释!(官方版)
正则表达式全部符号详细解释 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n'...
-
查询返回全部结果而不是过滤结果的查询
我有一个从原始查询派生的查询,原始查询有50条记录,qoq应该给我30行,但它给了我整整50行,我在这里做什么以下是我的查询cfquery name=qryResults dbtype=query Select * From...
-
ECSHOP全部品牌页实现分页换页功能方法
最近看到有朋友在论坛问到过此类问题,所以抽空写了下文,在全部品牌页实现分页换页功能,对商品品牌较多的朋友也许会有帮助,这个修改教程需要修改ecshop的系统文件,所以修改之前请先备份文件。 修改教程 打开brand.php找到 if (e...
-
将全部转换为大写
嘿,我是c++的新手,正在尝试将用户输入的单词全部转换为大写#includeiostream #includecstring using namespace std; int main() { int size=10; int ...
-
Checkbox-选择全部切换,并为每个复选框指定单独的功能
我有一个复选框列表,我希望每当选中select all时,所有的复选框都应该被选中,当它被取消选中时,下面的所有复选框都应该被取消选中。但是此后,我还希望如果没有按下select all,那么应该获取并附加各个复选框的值。Select Al...
-
conda更新--全部失败
我正在尝试更新我的机器上的anaconda,但得到了以下结果: (base) Chriss-MBP:opt chrisgaughan$ pwd /opt (base) Chriss-MBP...