SpringBoot怎么进行统一异常处理
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍"SpringBoot怎么进行统一异常处理"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"SpringBoot怎么进行统一异常处理"文章能帮助大
千家信息网最后更新 2025年11月08日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安全错误
数据库的锁怎样保障安全
长沙四季软件开发
南通市公安局网络安全保卫支队
可以查找ob和dl的数据库
彩票自动分析软件开发商怎么做
网络安全小制作
怎样查看手机网络安全密钥
智能管理终端服务器
删除数据库的正确操作步骤
核酸数据库链接
vb 数据库 表格数据
链接服务器密码
广州欧派家居软件开发工程师
大华网络存储服务器多少钱一台
用mysql创建数据库表
徐州计算机网络技术推荐咨询
周鸿祎谈网络安全
数据库创建添加存储过程
戴尔服务器730满载功耗
老头网络安全表情
江苏省审判案例数据库
数据库系统生存周期的主要阶段
漳州直播软件开发多少钱
阿里云虚拟主机数据库连接文件
小手牵大手网络安全主题
易语言读出数据库图片
云平台的数据库是哪个
tera最新服务器
服务器任务管理器在哪
网络安全法关于风险评估
译嘉网络技术