自定义异常类
//异常类
public class CrmException extends RuntimeException {
//自定义枚举类属性
private CrmExceptionEnum exceptionEnum;
//带参的构造方法将枚举类传入
public CrmException(CrmExceptionEnum exceptionEnum) {
super(exceptionEnum.getMess());//将异常信息放在堆栈信息中
this.exceptionEnum = exceptionEnum;
}
public CrmExceptionEnum getExceptionEnum() {
return exceptionEnum;
}
public void setExceptionEnum(CrmExceptionEnum exceptionEnum) {
this.exceptionEnum = exceptionEnum;
}
}
//枚举类
public enum CrmExceptionEnum {
LOGIN_ACCOUNT_ERROR("001","用户名或密码错误"),
LOGIN_ACCOUNT_EXPIRE("001","账户已失效"),
LOGIN_ACCOUNT_FORBID("001","账户被禁用"),
LOGIN_ACCOUNT_IP("001","不允许的IP");
private String code;//业务状态码 001:用户登录 002:交易模块
private String mess;
CrmExceptionEnum(String code, String mess) {
this.code = code;
this.mess = mess;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMess() {
return mess;
}
public void setMess(String mess) {
this.mess = mess;
}
}
//测试自定义异常
@Test
public void test04(){
// System.out.println(CrmExceptionEnum.LOGIN_ACCOUNT_ERROR.getMess());
try{
int a = 0;
if(a == 0){
throw new CrmException(CrmExceptionEnum.LOGIN_ACCOUNT_ERROR);
}
}catch (Exception e){
System.out.println(e.getMessage());
}
}

浙公网安备 33010602011771号