SpringBoot:自定义异常

我们在实现自定义异常的时候,我们需要继承 RuntimeException ,参考代码:

java 复制代码
/**
 * <b>Function: </b> todo
 *
 * @program: BizException
 * @Package: com.kingbal.king.common.core.exception
 * @author: dingcho
 * @date: 2024/09/14
 * @version: 1.0
 * @Copyright: 2024 www.kingbal.com Inc. All rights reserved.
 */
public class BizException extends RuntimeException{

	private static final long serialVersionUID = 9104770577278712502L;

	/**
	 * 状态码
	 */
	private int code;

	private ErrorCodeEnum errorEnum;

	public BizException(ErrorCodeEnum errorEnum, Throwable cause) {
		super(errorEnum.getMsg(), cause);
		this.code = errorEnum.getCode();
		this.errorEnum = errorEnum;
	}

	public BizException(ErrorCodeEnum errorEnum) {
		super(errorEnum.getMsg());
		this.code = errorEnum.getCode();
		this.errorEnum = errorEnum;
	}

	public BizException(ErrorCodeEnum errorEnum, String message) {
		super(message);
		this.code = errorEnum.getCode();
		this.errorEnum = errorEnum;
	}

}
java 复制代码
/**
 * <b>Function: </b> todo
 *
 * @program: ErrorCodeEnum
 * @Package: com.kingbal.king.common.core.constant.enums
 * @author: songjianlin
 * @date: 2024/09/14
 * @version: 1.0
 * @Copyright: 2024 www.kingbal.com Inc. All rights reserved.
 */
@Getter
@AllArgsConstructor
public enum ErrorCodeEnum {

	BIZ_PARAM_ERROR(400,"非法的参数!"),

	;


	/**
	 * 类型
	 */
	private final Integer code;

	/**
	 * 描述
	 */
	private final String msg;

}

使用:

java 复制代码
// 调用

throw new BizException(ErrorCodeEnum.BIZ_PARAM_EROOR);
相关推荐
代码雕刻家1 小时前
3.5.Maven-依赖管理-依赖配置&依赖传递
java·maven
!chen1 小时前
MyBatis-plus拓展之字段类型处理器、自动填充和乐观锁
java·tomcat·mybatis
Jin、yz2 小时前
JAVA 八股
java·开发语言
va学弟2 小时前
Java 网络通信编程(6):视频通话
java·服务器·网络·音视频
pjw198809032 小时前
Spring Framework 中文官方文档
java·后端·spring
jgyzl2 小时前
2026.3.11MyBatis-Plus基本使用与思考
java·数据库·mybatis
fu15935745683 小时前
sealos部署Java后端(若依为例)
spring boot
Full Stack Developme3 小时前
Java 常用通信协议及对应的框架
java·开发语言
( •̀∀•́ )9203 小时前
Spring Boot 启动报错 `BindException: Permission denied`
java·spring boot·后端
杰克尼3 小时前
苍穹外卖--day10
java·数据库·spring boot·mybatis·notepad++