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数据提示
}
}
可以根据 自己的项目需求 定义 多个 这样的异常处理器
@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; //异常信息
}
调用时
throw new schoolRuntimeException(“测试自定义异常”);