iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringBoot中如何进行统一异常处理
  • 763
分享到

SpringBoot中如何进行统一异常处理

2024-04-02 19:04:59 763人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1、处理前2、进行系统异常全局处理3、进行自定义异常处理总结如何在SpringBoot项目里进行统一异常处理 需要了解的知识 @ControllerAdvice的作用 1、处理前

如何在SpringBoot项目里进行统一异常处理 需要了解的知识

@ControllerAdvice的作用

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

image-20220202214712150

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

添加全局异常处理类

image-20220202215154305

代码

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;


@ControllerAdvice
public class GlobalExceptionHandler {
    
    @ExceptionHandler(Exception.class)
    @ResponseBody
    public Result error(Exception e) {
        e.printStackTrace();
        return Result.fail();
    }
}

Swagger2结果

image-20220202215407159

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)
@ResponseBody
public Result divError(YyghException e) {
    return Result.build(e.getCode(), e.getMessage());
}

image-20220202215737501

需要手动 try catch 一下

image-20220202215919100

效果

swagger和系统异常处理一样

不过后台输出不一样

image-20220202220034953

总结

到此这篇关于SpringBoot中如何进行统一异常处理的文章就介绍到这了,更多相关SpringBoot异常处理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringBoot中如何进行统一异常处理

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

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

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

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

下载Word文档
猜你喜欢
  • SpringBoot中如何进行统一异常处理
    目录1、处理前2、进行系统异常全局处理3、进行自定义异常处理总结如何在SpringBoot项目里进行统一异常处理 需要了解的知识 @ControllerAdvice的作用 1、处理前...
    99+
    2024-04-02
  • SpringBoot怎么进行统一异常处理
    这篇文章主要介绍“SpringBoot怎么进行统一异常处理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot怎么进行统一异常处理”文章能帮助大家解决问题。1、处理前异常代码@ApiO...
    99+
    2023-06-29
  • 如何在SpringBoot项目里进行统一异常处理
    目录1、处理前2、进行系统异常全局处理3、进行自定义异常处理效果前言: 需要了解的知识: @ControllerAdvice的作用 1、处理前 异常代码: @ApiOperatio...
    99+
    2024-04-02
  • SpringBoot如何实现统一异常处理
    这篇文章将为大家详细讲解有关SpringBoot如何实现统一异常处理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.介绍在日常开发中发生了异常,往往是需要通过一个统一的异常处理处理所有异常...
    99+
    2023-05-31
    springboot 统一异常 异常处理
  • SpringBoot接口如何统一异常处理
    目录为什么要优雅的处理异常实现案例@ControllerAdvice异常统一处理Controller接口运行测试进一步理解@ControllerAdvice还可以怎么用?@Contr...
    99+
    2024-04-02
  • 详解SpringBoot中的统一异常处理
    目录一、概述1、统一异常处理介绍2、原理和目标二、Assert(断言)1、概述2、Assert自定义实战2.1 自定义接口Assert2.2 自定义异常2.3 Enum整合2.4 实...
    99+
    2023-05-19
    SpringBoot 异常 SpringBoot 统一异常处理
  • SpringBoot统一异常处理详解
    文章目录 一、概述1、统一异常处理介绍2、原理和目标 二、Assert(断言)1、概述2、Assert自定义实战2.1 自定义接口Assert2.2 自定义异常2.3 Enum整合2.4 ...
    99+
    2023-09-02
    spring boot java spring
  • 如何在Python中进行异常处理
    目录一、抛出异常和自定义异常1、raise语句2、自定义异常类型二、捕捉异常1、捕捉多个异常2、获取异常信息三、finally子句一、抛出异常和自定义异常 Python中使用用异常对...
    99+
    2024-04-02
  • SpringBoot中怎么实现统一异常处理
    在Spring Boot中,可以通过@ControllerAdvice注解来实现统一异常处理。以下是一个示例: @Controlle...
    99+
    2024-03-07
    SpringBoot
  • 如何在Spring Boot中进行异常处理
    这篇文章将为大家详细讲解有关如何在Spring Boot中进行异常处理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。通过这篇文章,可以搞懂如何在 Sprin...
    99+
    2024-04-02
  • SpringBoot统一响应格式及统一异常处理
    目录一、统一响应基础类二、响应枚举类三、统一响应格式使用四、统一异常处理1. 自定义异常2.异常处理3.自定义异常使用在我们开发SpringBoot后端服务时,一般需要给前端统一响应...
    99+
    2023-05-19
    SpringBoot统一响应格式 SpringBoot统一异常处理
  • SpringBoot如何使用RequestBodyAdvice进行统一参数处理
    SpringBoot RequestBodyAdvice参数处理 在实际项目中 , 往往需要对请求参数做一些统一的操作 , 例如参数的过滤 , 字符的编码 , 第三方的解密等等 , ...
    99+
    2024-04-02
  • Vue3如何进行全局异常处理
    本篇内容主要讲解“Vue3如何进行全局异常处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue3如何进行全局异常处理”吧!在开发组件库或者插件,经常会需要进行全局异常处理,从而实现:全局统一...
    99+
    2023-06-29
  • nacos+springboot+dubbo2.7.3统一处理异常的方法
    这篇“nacos+springboot+dubbo2.7.3统一处理异常的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2023-06-29
  • SpringBoot统一接口返回及全局异常如何处理
    这篇文章主要介绍“SpringBoot统一接口返回及全局异常如何处理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot统一接口返回及全局异常如何处理”文章能帮助大家解决问题。一、Sp...
    99+
    2023-07-02
  • SpringBoot中如何统一接口返回与全局异常处理详解
    目录背景 统一接口返回 定义API返回码枚举类 定义正常响应的API统一返回体定义异常响应的API统一返回体编写包装返回结果的自定义注解定义返回结果拦截器WebMvc配置类拦截器注册...
    99+
    2024-04-02
  • C++ 函数库如何进行异常处理?
    c++++ 函数库异常处理通过 try-catch 语句实现,可捕获异常类型并进行处理。常见异常类型包括逻辑错误、运行时错误、内存分配失败、类型转换失败、索引超范围。实战案例演示了文件读...
    99+
    2024-04-18
    c++ 异常处理 标准库
  • 如何进行C++代码的异常处理?
    如何进行C++代码的异常处理引言:在编写C++代码时,异常处理是非常重要的一部分。异常处理机制可以帮助我们在程序运行时捕获和处理错误。在本文中,我们将讨论一些关于如何在C++中进行异常处理的重要概念和技巧。一、异常处理的基本概念异常处理是一...
    99+
    2023-11-02
    代码 C++ 异常处理
  • 如何在Python中使用Selenium对异常进行处理
    这篇文章主要介绍了如何在Python中使用Selenium对异常进行处理,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对...
    99+
    2023-06-06
  • Springboot统一异常处理的方法是什么
    Spring Boot提供了一个全局异常处理的方法,可以通过编写一个`@ControllerAdvice`注解的类来实现统一异常处理...
    99+
    2023-08-09
    Springboot
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作