SpringBoot怎么进行统一异常处理
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"SpringBoot怎么进行统一异常处理"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"SpringBoot怎么进行统一异常处理"文章能帮助大
千家信息网最后更新 2026年11月01日SpringBoot怎么进行统一异常处理
这篇文章主要介绍"SpringBoot怎么进行统一异常处理"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"SpringBoot怎么进行统一异常处理"文章能帮助大家解决问题。
1、处理前
异常代码
/** * 根据id获取医院设置 * * @param id 查看的id编号 * @return */@ApiOperation(value = "根据id获取医院设置")@GetMapping("/findHospById/{id}")public Result findHospById(@PathVariable Long id) { // 模拟异常(因为除数不能为0) int a = 1 / 0; HospitalSet hospitalSet = hospitalSetService.getById(id); return Result.ok(hospitalSet);}Swagger2输出结果

2、进行系统异常全局处理
添加全局异常处理类
代码
package com.fafa.yygh.common.exception;import com.fafa.yygh.common.result.Result;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.ResponseBody;/** * 全局异常处理 * * @author Sire * @version 1.0 * @date 2022-02-02 21:01 */@ControllerAdvicepublic class GlobalExceptionHandler { /** * 系统异常处理 * * @param e * @return */ @ExceptionHandler(Exception.class) @ResponseBody public Result error(Exception e) { e.printStackTrace(); return Result.fail(); }}Swagger2结果
3、进行自定义异常处理
开发时,往往需要我们去定义处理一些异常(这里还是那上面的那个异常来做测试)
创建自定义异常处理类
package com.fafa.yygh.common.exception;import com.fafa.yygh.common.result.ResultCodeEnum;import io.swagger.annotations.ApiModel;import io.swagger.annotations.ApiModelProperty;import lombok.Data;/** * 自定义全局异常类 * * @author qy */@Data@ApiModel(value = "自定义全局异常类")public class YyghException extends RuntimeException { @ApiModelProperty(value = "异常状态码") private Integer code; /** * 通过状态码和错误消息创建异常对象 * * @param message * @param code */ public YyghException(String message, Integer code) { super(message); this.code = code; } /** * 接收枚举类型对象 * * @param resultCodeEnum */ public YyghException(ResultCodeEnum resultCodeEnum) { super(resultCodeEnum.getMessage()); this.code = resultCodeEnum.getCode(); } @Override public String toString() { return "YyghException{" + "code=" + code + ", message=" + this.getMessage() + '}'; }}将其添加到GlobalExceptionHandler
/** * 自定义异常处理 * * @param e * @return */@ExceptionHandler(YyghException.class)@ResponseBodypublic Result divError(YyghException e) { return Result.build(e.getCode(), e.getMessage());}
需要手动 try catch 一下
效果
swagger和系统异常处理一样
不过后台输出不一样
关于"SpringBoot怎么进行统一异常处理"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
处理
全局
统一
知识
系统
代码
医院
对象
状态
结果
行业
输出
不同
实用
内容
后台
实用性
实际
手动
效果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技园
互联网科技公司税收优惠
互联网科技开发公司
朗涯互联网科技
远拓互联网科技
智慧科技互联网
壕鑫互联网络科技
金融科技和互联网金融
中国科技互联网公司收入
顶级互联网科技成果有哪些
华夏恒生互联网科技013171
明优互联网科技有限公司
伊宁互联网科技做什么的
区块链结合互联网科技
广东鹅鹅鹅互联网科技有限公司
互联网硬科技公司
玉溪新华互联网科技怎么选
山东蛋芒互联网科技有限公司
安徽九吞吴互联网科技有限公司
现代科技的标志之一的互联网
互联网 的科技创新
上海致骋互联网科技
北京禾田雨橡互联网科技
广州凡科互联网科技
互联网科技logo
互联网科技视频素材
恒生科技互联网指数分析
浙江互联网科技研学营
江苏苏星互联网科技有限公司
宁波允成互联网科技有限公司