/***********************************************************
 * @Description : 
 * @author      : 梁山广(Laing Shan Guang)
 * @date        : 2019-05-17 07:50
 * @email       : liangshanguang2@gmail.com
 ***********************************************************/
package lsgwr.exam.exception;

import lsgwr.exam.enums.ResultEnum;// 导入lsgwr.exam.enums包下的ResultEnum枚举类
import lombok.Getter;// 导入lombok库中的@Getter注解，用于自动生成getter方法
// 使用@Getter注解自动为类中的字段生成getter方法
@Getter
// 定义一个名为ExamException的自定义异常类，它继承自RuntimeException，表示这是一个运行时异常
public class ExamException extends RuntimeException {
    // 定义一个整型字段code，用于存储异常码
    private Integer code;
    // 定义一个构造函数，接收一个ResultEnum枚举类型的参数
    // 这个构造函数通过调用父类RuntimeException的构造函数来设置异常信息
    // 并通过枚举类型的参数来设置异常码
    public ExamException(ResultEnum resultEnum) {
        // 调用父类构造函数，传入ResultEnum枚举中定义的异常信息
        super(resultEnum.getMessage());
        // 设置当前异常的异常码
        this.code = resultEnum.getCode();
    }
    // 定义一个构造函数，接收一个整型code和一个字符串message作为参数
    // 这个构造函数允许直接传入异常码和异常信息来创建异常对象
    public ExamException( Integer code, String message) {
        // 调用父类构造函数，传入异常信息
        super(message);
        // 设置当前异常的异常码
        this.code = code;
    }
}