异常处理框架(一)


1、新建 【HloException.java】

package com.test.exception;

public class HLoException extends Exception{
    
    static final long serialVersionUID = -7878338751984229948L;
    
    public HLoException() {
        super();
    }
    
    public HLoException(String message) {
        super(message);
    }
    
    public HLoException(Throwable cause) {
        super(cause);
    }
    
    public HLoException(String message, Throwable cause) {
        super(message, cause);
    }
    
}

2、1、新建 【GenericBizException.java】

package com.test.exception;

public class GenericBizException extends HLoException{
          
    private static final String ERROR_MESSAGE_NOT_SET = GenericBizException.class.getName() + "-[ERROR_MESSAGE_NOT_SET]";
    private static final long serialVersionUID = 7069886313039447936L;

    private String errorCode;
    private String errorMessage = ERROR_MESSAGE_NOT_SET;
    private Object[] args = null;
            
    private Object model = null;
            
    public GenericBizException(String errorCode, Throwable cause, Object... args) {
        super(cause);
        this.errorCode = errorCode;
        this.args = args;
    }
            
    public GenericBizException(String errorCode, Object[] args) {
        this(errorCode, null, args);
    }
            
    public GenericBizException(String errorCode, String errorMsg) {
        this.errorCode = errorCode;
        errorMessage = errorMsg;
        
    }
            
    public GenericBizException(String errorCode, String errorMsg, Throwable cause) {
        super(cause);
        this.errorCode = errorCode;
        errorMessage = errorMsg;
    }
            
    public GenericBizException(String errorCode)
    {
        this.errorCode = errorCode;
    }
            
    public String getMessage()
    {
        if (isErrorMessageSet()) {
            return String.format("ErrorCode:<%s>,ErrorMessage:<%s>", new Object[] { errorCode, errorMessage });
        }
        return String.format("ErrorCode:<%s>", new Object[] { errorCode });
    }
            
    public boolean isErrorMessageSet()
    {
        return !ERROR_MESSAGE_NOT_SET.equals(getErrorMessage());
    }
            
    public String getErrorCode() {
        return errorCode;
    }
            
    public String getErrorMessage() {
        return errorMessage;
    }
            
    public Object[] getArgs() {
        return args;
    }
    
    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }
    
    public Object getModel() {
        return model;
    }
            
    public void setModel(Object model) {
        this.model = model;
    }

}

3、测试

package com.test.junit;

import com.test.exception.GenericBizException;

public class Test {

    public static void main(String[] arg){
 
        try {
            GenericBizException exception = new GenericBizException("code", "message");
             
             throw exception;
        }
        catch (GenericBizException e) {
            e.printStackTrace();
        }
    }
    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值