自定义异常在项目中的使用方法

企业实战之spring项目《自定义异常》 前言 在java项目里,异常的使用是比不可少,但是很多的开发者并不知道异常在项目中要怎么使用会更好一些,今天就给大家抛砖引玉下吧,说说项目中我是怎么使用的,也希望能引出你的更好的使用方法和想法。 分析 我们先来说说,目前很多项目都是怎么处理自定义异常的呢?因为项目采用的是基本都是MVC代码组织模式,所以很多的项目会按层次定义自己的异常,例如:DaoException、ServiceExc 阅读详情

SpringMVC提供了一套解决全局异常的处理方案,可以在代码无侵入的前提下完成异常处理。遵循逐层抛出,异常处理器统一处理的思路

首先 先创建一个异常类  ErrorResult 里面两个属性分别是 错误码 和错误信息

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ErrorResult {
    private String errCode;
    private String errMessage;

    public static ErrorResult error() {
        return ErrorResult.builder().errCode("999999").errMessage("系统异常").build();
    }

    public static ErrorResult codeNotExitError() {
        return ErrorResult.builder().errCode("000001").errMessage("redis不存在验证码").build();
    }

    public static ErrorResult codeError() {
        return ErrorResult.builder().errCode("000002").errMessage("验证码错误").build();
    }

    public static ErrorResult loginError() {
        return ErrorResult.builder().errCode("000003").errMessage("登录失败").build();
    }
    public static ErrorResult faceError() {
        return ErrorResult.builder().errCode("000004").errMessage("人脸识别失败").build();
    }
}

创建 MyException 继承自  RuntimeException 里面注入我们自己写的异常类

import com.tanhua.vo.ErrorResult;
import lombok.Data;


@Data
public class MyException extends RuntimeException {
    //错误类
    private ErrorResult errorResult;

    /**
     * @Description: 修改父类的构造方法
     * @Param: [errorResult]
     * @return:
     * @Author: 
     * @Date: 
     */
    public MyException(ErrorResult errorResult) {
        super(errorResult.getErrMessage());
        this.errorResult = errorResult;
    }
}

写一个 用于集中处理控制器抛出的异常 可以定义一下通用的异常处理逻辑 全局异常处理类

import com.tanhua.vo.ErrorResult;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: 
 * @Date: 
 * @Message: Talk is cheap. Show me the code.
 * @Description: 用于集中处理控制器抛出的异常 可以定义一下通用的异常处理逻辑 全局异常处理类
 */
@ControllerAdvice
public class ExceptionAdvice {

    /**
     * @Description: 统一异常处理 拦截器抛出的MyException异常
     * @Param: [e]
     * @return: org.springframework.http.ResponseEntity
     * @Author: 
     * @Date: 
     */
    @ExceptionHandler(MyException.class)
    public ResponseEntity handleMyException(MyException e) {
        e.printStackTrace();
        ErrorResult errorResult = e.getErrorResult();
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(errorResult);
    }

    /**
     * @Description: 拦截跑出的 Exception 的异常
     * @Param: [e]
     * @return: org.springframework.http.ResponseEntity
     * @Author: 
     * @Date: 
     */
    @ExceptionHandler(Exception.class)
    public ResponseEntity handleException(Exception e) {
        e.printStackTrace();
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(ErrorResult.error());
    }
}

 里面两个方法分别 捕捉 MyException类异常 和 Exception 类异常 捕捉到了就会执行方法

使用方法 在需要抛出异常的地方编写

 throw new MyException(ErrorResult.faceError());

【Java】自定义异常和异常中的方法覆盖注意事项 文章目录1. 自定义异常1.1 定义方式1.2 自定义异常的抛出2. 异常中的方法覆盖 1. 自定义异常 1.1 定义方式 ① 必须继承自Exception或Exception的子类,常用RuntimeException ② 必须提供无参构造方法; ③ 必须提供String message的1参构造方法,super(message); 备注:受查异常CheckedException和运行时异常R... 阅读详情

相关推荐

embedding计算过程

文章目录embedding计算过程(错了跟我讲,我会改)参考示例个人理解过程图示总结(基于pytorch) embedding计算过程(错了跟我讲,我会改) 参考示例 https://www.jianshu.com/p/63e7acc5e890 个人理解过程图示 总结(基于pytorch) 总的来说,就是将独热向量的长度(对应嵌入层的num_embeddings)转变为嵌入层的emdedding_size(而独热向量的维数就是你的数据中一共产生了多少个不一样的词,至少是这么多)。 数据的变化,将二维

纸上得来终觉浅,绝知此事要躬行! 1630

【自定义异常】SpringBoot自定义异常+全局异常处理类Demo

在Java中,自定义异常是一种由程序员根据特定需求创建的异常类型。它们可以帮助我们在程序中明确和处理特定的异常情况。以下是一些使用自定义异常的常见应用场景:更好地表示业务逻辑错误:自定义异常可以根据具体业务需求来定义,并提供更有意义和准确描述的错误信息,以便于程序员和其他开发人员理解问题所在。区分不同类型的错误:通过创建多个不同类型的自定义异常类,可以区分并捕获不同类型的错误。

God_WZH的博客 2224

Seedance 2.5本地部署指南:AI生图与视频生成的完整实践

最近在AI生成内容领域,本地部署方案越来越受到开发者关注。特别是Seedance 2.5的发布,让很多原本依赖云端服务的用户开始转向本地化解决方案。本文将从实际使用角度出发,完整介绍Seedance 2.5的本地部署流程、功能特性对比以及实际应用技巧。 1. Seedance 2.5核心特性解析 1.1 什么是Seedance 2.5 Seedance 2.5是一款开源的AI生图和视频生成工具,支持在本地环境运行,无需联网即可实现高质量的图像和视频生成。相比之前的2.0版本,2.5在生成质量、运行效率和功能

weixin_42566121的博客 1657

java异常抛出_Java 如何抛出异常、自定义异常

Java错误与异常的基本概念:1.java中异常均继承自Throwable,其有两个重要的直接子类error与exception.2.java错误error,大部分是由虚拟机爆出来的错误,是程序无法处理的错误,如OutOfMemoryError,当JVM需要更多内存空间而得不到满足时,就会爆出OutOfMemoryError。3.Exception,异常,其下分类很多,如可查异常与不可查异常,运行...

weixin_39780784的博客 547

进程间通信的七种方法实战演示!值得收藏!

线程和进程间的通讯(Inter-Process Communication, IPC)是操作系统中的一个重要概念,用于实现不同进程或同一进程中的不同线程之间的数据交换和协调。以下是几个常见的进程间通信的方式:管道、消息队列、共享内存、信号、套接字、信号量、文件映射

十年饮冰,难凉热血,保持热爱,奔赴星海! 2816

Python自动化生成HyperMesh Tcl命令流:从几何建模到有限元分析

本文详细介绍了如何利用Python自动化生成HyperMesh的Tcl命令流,实现从几何建模到有限元分析的全流程二次开发。通过封装常用操作函数,工程师可以高效完成参数化建模、自动网格划分及求解器文件输出,显著提升CAE前处理效率与标准化水平。

weixin_29041767的博客 423

java异常 自定义异常 全局异常统一处理

创建一个类来表示自定义异常。通常,这个类应该继承自Java标准库中的Exception类或者类,具体取决于你想要定义的异常是否是受检查异常(Checked Exception)或非受检查异常(Unchecked Exception)/*** 登录失败异常*///构造函数//构造方法使用super(msg)调用父类RuntimeException的构造方法super(msg);//参数表示异常的详细描述信息。

分享技术,分享经验 1135

LT8711/LT8712 Type-C转HDMI设计方案|替代LT8711/LT8712芯片|GSV2201可完全替代兼容LT8711/LT8712

LT8711UX是一款高性能C/DP1.2型至HDMI2.0转换器,用于将USB Type-C源或DP1.2源连接到HDMI2.0接收器。该LT8711UX集成了一个DP1.2兼容的接收器,和一个HDMI2.0兼容的发射器。此外,还包括两个CC控制器,用于CC通信,以实现DP Alt模式和功率传输功能,一个用于上游Type-C端口和另一个用于下游端口。

weixin_63518914的博客 1639

java如何抛出异常_Java 如何抛出异常、自定义异常

Java错误与异常的基本概念:1.java中异常均继承自Throwable,其有两个重要的直接子类error与exception.2.java错误error,大部分是由虚拟机爆出来的错误,是程序无法处理的错误,如OutOfMemoryError,当JVM需要更多内存空间而得不到满足时,就会爆出OutOfMemoryError。3.Exception,异常,其下分类很多,如可查异常与不可查异常,运行...

weixin_29485605的博客 1439

高通平台 5G RF调试总结

目录: 1.QRCT4的使用 2.RFC配置 3.5G CA 配置概括 4.RFPD 运行及错误分析 5.CA吞吐率问题分析

嘿v小米的博客 9678

arcgis计算栅格平均值

打开FC栅格数据和非水体矢量数据 利用矢量数据提取对应栅格的非水体部分 2.1打开空间分析工具à提取分析à按掩膜提取 输入对应栅格数据和矢量数据 2.2提取结果如下 进行计算FC平均值 3.1打开空间分析工具à多元分析à波段集统计 输入对应栅格和输出路径 3.2统计结果如下 ...

Z_W_H_的博客 5370

springmvc使用@ControllerAdvice处理自定义异常和未知异常

1.编写一个自定义异常类 public class CustomException extends RuntimeException { /** * ResultCode 是自己写的类,里面包含了 三个属性 (1.操作是否成功 2.操作代码 3.提示信息) * 根据需求自己去定义。可以把这个类定义成功接口,然后写其实现类,实现类里面还可以添加自己需 * 响应信...

weixin_43569697的博客 633

十八万字《python从零到精通教程》第二版,贴心保姆教你从零变大神,学不会找我

文章目录一.pycharm下载安装二.python下载安装三.pycharm上配置python四.配置镜像源让你下载嗖嗖的快4.1pycharm内部配置4.2手动添加镜像源4.3永久配置镜像源五.插件安装(比如汉化?)5.1自动补码神器第一款5.2 自动补码神器第二款5.2汉化pycharm5.3其它插件六.美女背景七.自定义脚本开头八、这个前言一定要看九、python入门十、python缩进十一、Python注释1.单行注释2.多行注释十二、Python 变量1.变量定义理解2. 变量名命名3. 分配多个

全栈川川 7万+

项目-自定义异常-全局异常处理-缓存处理

项目-自定义异常-全局异常处理1 自定义异常类2 全局异常处理 1 自定义异常类 自定义异常类,继承RuntimeException 重写父类构造方法 public class ServiceException extends RuntimeException { private static final long serialVersionUID = 7793296502722655579L; public ServiceException() {

kawasakiyyy的博客 354

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

10. Python 自定义异常处理详解

在 Python 编程中,自定义异常处理可以提高代码的可读性和可维护性。本文详细介绍了如何创建和使用自定义异常,涵盖了基本概念、最佳实践和大型项目中的应用。通过继承 Exception 类、自定义 __init__ 方法以及分层结构化设计,开发者可以更灵活地捕获和处理特定错误。文章还包括异常的日志记录、调试技巧及如何在代码中有效捕获多种异常类型。通过这些方法,程序能够更加精准、优雅地处理错误,提高整体软件质量

拾工 616

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

python自定义异常只能继承exception_自定义异常

Java标准库定义的常用异常包括:Exception│├─ RuntimeException│ ││ ├─ NullPointerException│ ││ ├─ IndexOutOfBoundsException│ ││ ├─ SecurityException│ ││ └─ IllegalArgumentException│ ││ └─ NumberFormat...

weixin_39930748的博客 210

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SpringBoot项目全局异常处理

如果希望在程序执行出现错误的时候,不是直接返回前端一个500错误,导致前端什么也获取不到; 可以使用全局异常处理来解决。 使用@ControllerAdvice注解来实现 1.在项目中直接添加一个异常类就可以了,不需要再做其他操作 这个时候方法再由异常,就会调用该方法 /** * 全局异常处理类 */ @ControllerAdvice public class GlobalExceptionHandler { /** * 默认调用该方法 * @param e *

cnuwsn的博客 489

Spring Boot 中关于自定义异常处理的套路!

在 Spring Boot 项目中 ,异常统一处理,可以使用 Spring 中 @ControllerAdvice 来统一处理,也可以自己来定义异常处理方案。Spring Boot 中,对异常的处理有一些默认的策略,我们分别来看。默认情况下,Spring Boot 中的异常页面 是这样的:我们从这个异常提示中,也能看出来,之所以用户看到这个页面,是因为开发者没有明确提供一个 /error 路径,如...

weixin_33737134的博客 86

学习如何自定义异常并且使用自定义异常

学习如何自定义异常并且使用自定义异常

liangruilz的博客 1万+

后端项目全局异常处理-使用RuntimeException自定义异常&异常分类&简单举例

在项目中,要想统一处理全局异常,则Service组件、Controller组件都必须抛出异常,才能由Spring MVC框架捕获到异常,进而通过全局异常处理器进行统一的处理!RuntimeException不会受到异常的相关语句约束,而非RuntimeException一旦被抛出,方法的声明、方法的调用者的声明等都需要声明抛出此异常。由于抛出异常是固定的做法,没有必要在各个方法上都声明抛出此异常,所以,应该使用RuntimeException。

麦小洛 2379

Java中的自定义异常

代码实现 自定义异常类型主要实现代码 public class Exception_demo extends Exception{ //自定义异常,需要把自定义异常类继承于Exception异常类,自定义异常类属于异常类的子类 public Exception_demo(){ //构造方法也叫做构造器,构造方法的名字和类名称一致 super(); ...

Nstar的技术博客 3672

Java中的自定义异常处理:业务异常类的创建与使用

自定义业务异常类通常继承自或其子类,因为业务异常通常是由于程序逻辑错误或不符合业务规则而导致的,而不是由于系统错误或资源耗尽等外部因素导致的。继承自意味着这些异常是未检查的(unchecked),编译器不会强制要求开发者处理这些异常。/*** 自定义业务异常类*/// 调用父类的构造方法,传入错误信息在这个例子中,我们创建了一个名为的类,它继承自。这个类只有一个构造方法,接受一个字符串参数message,用于设置异常信息。通过调用父类的构造方法,我们将这个信息传递给类。

weixin_61034310的博客 2013

异常组成、作用、处理方式(3种)、异常方法、自定义异常

和多态有关catch多重异常时,子异常类必须在它们任何父类之前。因为运用父类的catch语句将捕获该类型及其所有子类类型的异常。这样,如果子类在父类后面,子类将永远不会到达。你想写也不行,系统会报编译错误。长度在3-10间,年龄在18-40岁间这些显然不是RuntimeException里面定义好的异常,如果触发了这些异常,为了更加清晰表明到底是哪种,需要自定义异常。前两个方法,一个空参一个带参。

Eliaukgo的博客 2488

Java 如何抛出异常、自定义异常

一、异常的抛出 1、定义 : 一个方法不处理这个异常,而是调用层次向上传递,谁调用这个方法,这个异常就由谁来处理。2、throw : 将产生的异常抛出(强调的是动作),抛出的既可以是异常的引用,也可以是异常对象。(位置: 方法体内)3、throws : 如果一个方法可能会出现异常,但没有能力处理这种异常,可以在方法声明处用throws子句来声明抛出异常。用它修饰的方法向调用者表明该方法可能会抛出异

风中的劲草 33万+

JAVA中自定义异常方法抛出异常

开发工具与关键技术:JAVA中的自定义异常 作者:邓崇富 撰写时间:2019 年 4 月 26 日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 一、通过throw抛出异常 使用java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户只需要集成E...

weixin_44548405的博客 2187
上一篇: Node.js常用命令
下一篇: 统一token处理
terrible_code
博客等级 码龄5年 36粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值