iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot怎么进行统一异常处理
  • 894
分享到

SpringBoot怎么进行统一异常处理

2023-06-29 02:06:39 894人浏览 薄情痞子
摘要

这篇文章主要介绍“SpringBoot怎么进行统一异常处理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springBoot怎么进行统一异常处理”文章能帮助大家解决问题。1、处理前异常代码@apiO

这篇文章主要介绍“SpringBoot怎么进行统一异常处理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springBoot怎么进行统一异常处理”文章能帮助大家解决问题。

1、处理前

异常代码

@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输出结果

SpringBoot怎么进行统一异常处理

2、进行系统异常全局处理

添加全局异常处理类

SpringBoot怎么进行统一异常处理

代码

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;@ControllerAdvicepublic class GlobalExceptionHandler {        @ExceptionHandler(Exception.class)    @ResponseBody    public Result error(Exception e) {        e.printStackTrace();        return Result.fail();    }}

Swagger2结果

SpringBoot怎么进行统一异常处理

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;@Data@ApiModel(value = "自定义全局异常类")public class YyghException extends RuntimeException {    @ApiModelProperty(value = "异常状态码")    private Integer code;        public YyghException(String message, Integer code) {        super(message);        this.code = code;    }        public YyghException(ResultCodeEnum resultCodeEnum) {        super(resultCodeEnum.getMessage());        this.code = resultCodeEnum.getCode();    }    @Override    public String toString() {        return "YyghException{" +            "code=" + code +            ", message=" + this.getMessage() +            '}';    }}

将其添加到GlobalExceptionHandler

@ExceptionHandler(YyghException.class)@ResponseBodypublic Result divError(YyghException e) {    return Result.build(e.getCode(), e.getMessage());}

SpringBoot怎么进行统一异常处理

需要手动 try catch 一下

SpringBoot怎么进行统一异常处理

效果

swagger和系统异常处理一样

不过后台输出不一样

SpringBoot怎么进行统一异常处理

关于“SpringBoot怎么进行统一异常处理”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: SpringBoot怎么进行统一异常处理

本文链接: https://www.lsjlt.com/news/321886.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作