第十八节:学习统一异常处理(自学Spring boot 3.x的第五天)

devtools/2024/10/21 3:15:21/

这节记录下如何通过AOP方式统一处理异常拦截。

第一步:

新建一个exception包,创建一个ExcetionHandler.java(名字随意取)

package cn.wcyf.wcai.exception;import cn.wcyf.wcai.common.Result;
import org.springframework.web.bind.annotation.RestControllerAdvice;@RestControllerAdvice
public class ExceptionHandler {// 处理运行时异常@org.springframework.web.bind.annotation.ExceptionHandler(BussinessException.class)public Result handlerException(BussinessException e){//处理逻辑return Result.fail(e.getMessage());}@org.springframework.web.bind.annotation.ExceptionHandler(ArithmeticException.class)public Result handlerArithmeticException(ArithmeticException e){return Result.fail(e.getMessage());}
}

要处理哪个异常,就在注解后面加上该拦截类的class。

第二步:测试

写一个错误,使得访问时报错。

    @GetMapping("/{id}")public Result<Student> getById(@PathVariable Integer id){int o = 1/0 ;if(id==10||id==11){return Result.success(studentService.getById(id));
//            return ReturnResult.createSuccessfulResp(ResultEnum.SUCCESS.getDesc(),studentService.getById(id));}else {return Result.fail(ResultEnum.ILLEGAL_ARGUMENT);}}}


http://www.ppmy.cn/devtools/111286.html

相关文章

STM32时钟树

1 什么是时钟 2 时钟数简图

单片机-STM32 看门狗(八)

目录 一、看门狗概念 1、定义&#xff1a; 二、单片机中的看门狗 1、功能描述&#xff1a; 2、看门狗设置部分 预分频寄存器(IWDG_PR) 3、窗口看门狗 特性&#xff1a; 4、看门狗配置&#xff1a; 一、看门狗概念 看门狗--定时器&#xff08;不属于基本定时器、通用定…

docker-compose容器之间无法访问问题

使用docker-compose启动容器&#xff0c;且容器之间是可以互访的&#xff08;使用服务名就可以&#xff09;。 一定要注意端口使用容器的内部端口&#xff0c;不是宿主机的外部端口。 如配置mysql8服务 mysql8: # 服务名称image: mysql:8.2.0 # 或其它mysql版本container_nam…

高亚科技与广东海悟携手,打造全流程电子竞标管理平台!

近日&#xff0c;中国企业管理软件资深服务商高亚科技与广东海悟科技有限公司&#xff08;以下简称“海悟”&#xff09;正式签署合作协议&#xff0c;双方将基于高亚科技的8Manage SRM系统&#xff0c;推进海悟采购管理的数字化升级&#xff0c;实现全流程在线电子竞标管理&am…

SpringBoot2:web开发常用功能实现及原理解析-上传与下载

文章目录 一、上传文件1、前端上传文件给Java接口2、Java接口上传文件给Java接口 二、下载文件1、前端从Java接口下载文件2、Java接口调用Java接口下载文件 一、上传文件 1、前端上传文件给Java接口 Controller接口 此接口支持上传单个文件和多个文件&#xff0c;并保存在本地…

每日一练8:dd爱框框(含链接)

1.链接 登录—专业IT笔试面试备考平台_牛客网 2.题目 3.代码 #include<iostream> #include<vector>using namespace std;const int N 1e7 5;int n,x;vector<int> v(N);int main() {cin >> n >> x;for(int i 0; i < n;i) cin >> v…

crontab命令:定时任务,周期执行

一、crontab 命令简介 ​crontab​ 是 Linux 系统中用于调度任务的工具&#xff0c;它允许用户按照预定的时间自动运行脚本或命令。通过 crontab​ 命令可以添加、修改、列出和删除用户的&#xff08;周期性&#xff09;定时任务。 ‍ 守护进程&#xff1a;corn ● cron.se…

嵌入式学习——数据结构——顺序表

线性表的定义 线性表是零个或多个数据元素的有限序列&#xff0c;元素之间具有顺序性&#xff0c;如果存在多个元素&#xff0c;第一个元素无前驱&#xff0c;最有一个没有后继&#xff0c;其他的元素只有一个前驱和一个后继。线性表元素的个数n&#xff08;n>0&#xff09…