iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Spring异常实现统一处理的方法
  • 549
分享到

Spring异常实现统一处理的方法

Spring异常统一处理Spring异常处理 2022-12-08 20:12:16 549人浏览 独家记忆

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

摘要

目录1.统一处理异常的机制2.关于统一处理异常的方法3.关于处理异常的方法的执行特点1.统一处理异常的机制 spring mvc框架提供了统一处理异常的机制!表现为每种类型的异常只需

1.统一处理异常的机制

spring mvc框架提供了统一处理异常的机制!表现为每种类型的异常只需要写一段(写一次)处理此异常的代码即可,项目中无论处理哪种请求时,只要出现这种异常,都会自动执行这段代码!

提示:当项目中添加了spring-boot-starter-WEB依赖项,此依赖项中的核心就是Spring MVC框架的依赖项。

在实现统一处理异常之前,需要先使得控制器中处理请求的方法不再处理异常!则处理请求的方法表现为抛出异常(但并不需要从代码中显式的表现出来)!

2.关于统一处理异常的方法

访问权限:应该使用public

返回值类型:参考处理请求的方法方法

名称:自定义

参数列表:至少有1个异常类型的参数,表示被处理的异常,另外,可以按需添加;httpservletRequestHttpServletResponse等少量特定类型的参数,不可以随意添加其它;参数,例如不可以添加HttpSession等,如果有多个参数,各参数可以不区分先后顺序;

注解:必须添加@ExceptionHandler,表示此方法是处理异常的方法。

@ExceptionHandler
public String handleServiceException(ServiceException e) {
    return e.getMessage();
}

3.关于处理异常的方法的执行特点

允许同时存在多个处理异常的方法,只要这些方法处理的异常不完全相同即可;

多个处理异常的方法,其处理的异常类型允许存在继承关系;

  • 例如某方法处理NullPointerException,另一个方法处理RuntimeException,是正确的;
  • 当出现子级异常时,将执行处理子级异常的方法;

如果将处理异常的方法定义在控制器类中,则这些方法只能作用于当前控制器类中处理的请求;

可以自定义类,在类上添加@RestControllerAdvice注解,将处理异常的方法声明在这个类中,可以作用于当前项目中所有处理请求时方法。

则在项目的根包下创建ex.handler.GlobalExceptionHandler类,在类上添中@RestControllerAdvice注解,并在此类中处理异常(在任何控制器类中都不再处理异常):

package cn.tedu.csmall.product.ex.handler;
import cn.tedu.csmall.product.ex.ServiceException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@RestControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler
    public String handleServiceException(ServiceException e) {
        return e.getMessage();
    }
    @ExceptionHandler
    public String handleNullPointerException(NullPointerException e) {
        return "程序出现了空指针异常,已经被处理!";
    }
    @ExceptionHandler
    public String handleRuntimeException(RuntimeException e) {
        return "程序出现了RuntimeException,已经被处理!";
    }
}

User login(String username, String passWord) throws 用户名不存在异常, 密码错误异常, 账号非法状态异常……
// boolean:表示登录成功,或登录失败
//             但是,无法表示哪种失败
// int:使用某个数据表示某种状态,例如1表示登录成功,2表示用户名错,3表示密码错,4表示封号,等等
//            但是,无法返回登录成功的结果

try {
    User user = service.login("root", "1234");
    // 将User对象保存到Session中
} catch (用户名不存在异常 e) {
} catch (密码错误异常 e) {
} catch (账号非法状态异常 e) {
}

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

--结束END--

本文标题: Spring异常实现统一处理的方法

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

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

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

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

下载Word文档
猜你喜欢
  • Spring异常实现统一处理的方法
    目录1.统一处理异常的机制2.关于统一处理异常的方法3.关于处理异常的方法的执行特点1.统一处理异常的机制 Spring MVC框架提供了统一处理异常的机制!表现为每种类型的异常只需...
    99+
    2022-12-08
    Spring异常统一处理 Spring异常处理
  • 使用Spring MVC实现统一异常处理的方法
    这篇文章将为大家详细讲解有关使用Spring MVC实现统一异常处理的方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1 描述 在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业...
    99+
    2023-05-31
    springmvc 异常处理
  • 【Spring AOP】统一异常处理
    统一异常处理 统⼀异常处理使⽤的是 @ControllerAdvice + @ExceptionHandler 来实现的, 类上面加上 @ControllerAdvice 注解表示控制器通知...
    99+
    2023-10-12
    spring java 后端
  • nacos+springboot+dubbo2.7.3统一处理异常的方法
    这篇“nacos+springboot+dubbo2.7.3统一处理异常的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2023-06-29
  • Spring Boot全局统一异常处理器
    目录一、封装统一返回结果类二、自定义异常封装类三、错误枚举四、全局异常处理类五、测试一、封装统一返回结果类 import com.jiusen.exercise.enums.Er...
    99+
    2024-04-02
  • Spring中什么是统一异常处理
    这篇文章主要介绍“Spring中什么是统一异常处理”,在日常操作中,相信很多人在Spring中什么是统一异常处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring中什...
    99+
    2024-04-02
  • Spring Boot统一接口返回及全局异常处理的方法
    这篇文章主要讲解了“Spring Boot统一接口返回及全局异常处理的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Boot统一接口返回及全局异常处理的...
    99+
    2023-06-30
  • java实现统一异常处理的示例
    对于Dao层 和Service产生的异常要一直网上抛,直至Controller层,但是对于controller层不能处理的异常也不能直接抛给前端。 为什么不能在service处理异常...
    99+
    2024-04-02
  • spring boot全局统一返回RESTful风格数据、统一异常处理的方法
    本文小编为大家详细介绍“spring boot全局统一返回RESTful风格数据、统一异常处理的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“spring boot全局统一返回RESTful风格数据、...
    99+
    2024-04-02
  • Spring Boot统一处理全局异常的实战教程
    目录注解的介绍@ControllerAdvice@ExceptionHandler拦截异常并统一处理代码实现自定义异常统一异常处理前端返回值类测试用例附:Spring Boot默认的...
    99+
    2024-04-02
  • SpringBoot如何实现统一异常处理
    这篇文章将为大家详细讲解有关SpringBoot如何实现统一异常处理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.介绍在日常开发中发生了异常,往往是需要通过一个统一的异常处理处理所有异常...
    99+
    2023-05-31
    springboot 统一异常 异常处理
  • spring处理异常的方法有哪些
    Spring提供了多种处理异常的方法,包括:1. 使用@ControllerAdvice注解的类:可以全局捕获和处理Controll...
    99+
    2023-08-18
    Spring
  • Springboot统一异常处理的方法是什么
    Spring Boot提供了一个全局异常处理的方法,可以通过编写一个`@ControllerAdvice`注解的类来实现统一异常处理...
    99+
    2023-08-09
    Springboot
  • 关于Spring统一异常处理及说明
    目录相关注解概述全局异常依赖包示例@ExceptionHandler注解使用方法基本使用方法注解的参数异常类型就近原则注解方法的返回值注解使用错误举例相关注解概述 通过使用@Rest...
    99+
    2024-04-02
  • Spring Boot如何统一处理全局异常
    这篇文章给大家分享的是有关Spring Boot如何统一处理全局异常的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。注解的介绍@ControllerAdvice@ControllerAdvice注解是Sp...
    99+
    2023-06-22
  • SpringBoot中怎么实现统一异常处理
    在Spring Boot中,可以通过@ControllerAdvice注解来实现统一异常处理。以下是一个示例: @Controlle...
    99+
    2024-03-07
    SpringBoot
  • springboot断言异常封装与统一异常处理实现代码
    目录步骤1、异常类2、统一异常处理配置类3、断言类4、使用补充:异常处理器说明handleServletExceptionhandleBindExceptionhandleValid...
    99+
    2023-01-11
    springboot断言异常封装 springboot统一异常 springboot异常处理
  • 使用spring aop统一处理异常和打印日志方式
    我们很容易写出的代码 我们很容易写出带有很多try catch 和 logger.warn(),logger.error()的代码,这样一个方法本来的业务逻辑只有5行,有了这些,代码...
    99+
    2024-04-02
  • Java异常处理 Throwable实现方法解析
    在Java中,异常处理是通过一个称为"try-catch"的结构来实现的。在这个结构中,代码被放在一个"try"块中,然后在"cat...
    99+
    2023-08-14
    Java
  • Spring Boot全局统一异常处理器的示例分析
    这篇文章主要介绍Spring Boot全局统一异常处理器的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、封装统一返回结果类import com.jiusen.exercise.enums.Err...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作