• Spring boot 处理程序中的异常 配置全局异常捕获


    Spring boot 处理程序中的异常 配置全局异常捕获

    扩展文章地址 :
    https://blog.csdn.net/Drug_/article/details/121597930

    首先创建一个异常处理类

    package com.spring.bootinit.exception;
    
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    
    /**
     * @User: Json
     * @Date: 2022/8/21
     * 处理整个web 异常
     **/
    @ControllerAdvice
    public class GlablExceptionHandler {
    
        //处理异常
        // ArithmeticException.class 处理 数学计算 异常
        // NullPointerException.class  处理空指针异常
        // 只要是这两种异常 都会 往这个方法里 写入
        @ExceptionHandler({ArithmeticException.class,NullPointerException.class})  //处理异常
        public String handlerArithException(Exception e){
            System.out.println("异常是"+e);
            return "login";  //返回异常信息 可以返回一个 视图   也可以返回一个 json数据提示
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    可以根据 自己的项目需求 定义 多个 这样的异常处理器
    @ExceptionHandler({ArithmeticException.class,NullPointerException.class}) //处理异常

    项目文件格式 配置
    在这里插入图片描述

    定义 自定义异常
    适用于 运行时 抛出的异常
    比如 用户名错误啊 需要给页面提示的这种异常 处理

    RuntimeException 继承 这个 运行时异常

    3.自定义异常类 
    
    schoolException.java
     
    
    package com.school.service_base.exceptionhandler;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    /**
     * @User: Json
     * @Date: 2021/11/28
     * 自定义异常类
     **/
    @Data     //自动生成 get set方法
    @AllArgsConstructor  //自动生成 有参数的构造方法
    @NoArgsConstructor   //自动生成 无参数构造方法
    public class schoolRuntimeExceptionextends RuntimeException{
    
        private  Integer code;  //状态码
    
        private String msg;  //异常信息
    
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    调用时
    throw new schoolRuntimeException(“测试自定义异常”);

  • 相关阅读:
    Windows之nslookup命令
    一日一技:用Python做游戏有多简单
    干货| 算法工程师常见问题(基础算法篇)
    Win10无法连接打印机怎么办?不能使用打印机的解决方法
    标准化、归一化和正则化的关系
    Ubuntu入门04——目录与文件
    《Python3 网络爬虫开发实战》:request(2)
    PPT不能编辑,如何取消PPT的只读模式?
    电子学:第012课——实验 13:烧烤 LED
    手把手教你用 Milvus 和 Towhee 搭建一个 AI 聊天机器人
  • 原文地址:https://blog.csdn.net/Drug_/article/details/126454662