项目中如何使用自定义异常类来实现错误码和错误信息的规范输出?

作者: admin 分类: 应用技巧 发布时间: 2018-08-10 12:51  阅读: 220 views

在做项目的过程中,会碰到各种各样的技术问题或者业务规范问题。为了方便开发者或者使用者的操作/阅读习惯。务必定义一套较完善的异常处理机制。不光是提示在开发时碰到问题是出现在了哪里,更是为了业务的统一性,保证了项目的有序进行。

异常经常碰到,之前基本也都是用系统内置的异常类,为了满足自身系统的需求,所以定义异常类统一来处理。

设计思路如下:定义三个文件

ProgramException.java 异常类,继承RuntimeException,可以报错时抛出
ResultCode.java Bean对象,有 code,message
BusinessCode.java 异常信息定义
异常类

package com.test.exception;


/**
*
*
* @author chenhailong
* @date 2018年8月10日 上午11:28:34
*/
public class ProgramException extends RuntimeException {
    /**
    *
    */
    private static final long serialVersionUID = -7385493285165605780L;
    private String code;
    private String message;

    public ProgramException(String code, String message) {
        this.code = code;
        this.message = message;
    }

    public ProgramException(ResultCode rc) {
        this.code = rc.getCode();
        this.message = rc.getMessage();
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

 

异常对象

package com.test.exception;

/**
*
*
* @author chenhailong
* @date 2018年8月10日 上午11:32:59
*/
public class ResultCode {
    private String code;
    private String message;

    public ResultCode() {
    }

    public ResultCode(String code, String message) {
        this.code = code;
        this.message = message;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

 

异常信息定义

package com.test.exception;
/**
**
* @author chenhailong
* @date 2018年8月10日 下午12:19:56
*/
public class BusinessCode {
public static final ResultCode Error_1 = new ResultCode("101","数据格式错误!!!");
public static final ResultCode Error_2 = new ResultCode("102","第二个错误");
public static final ResultCode Error_3 = new ResultCode("103","第三个错误");
public static final ResultCode Error_4 = new ResultCode("104","第四个错误");
public static final ResultCode Error_5 = new ResultCode("105","第五个错误");
public static final ResultCode Error_6 = new ResultCode("106","第六个错误");
}

 

测试示例

package com.test.exception;


/**
* @author chenhailong
* @date 2018年8月10日 上午11:37:42
*/
public class TryCatch {
    /**
    * @param args
    */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String s = "qwer";

        try {
            Integer.parseInt(s);
        } catch (Exception e) {
            throw new ProgramException(BusinessCode.Error_1);
        }
    }
}

 

效果输出:

Exception in thread “main” com.test.exception.ProgramException: 数据格式错误!!!

at com.test.exception.TryCatch.main(TryCatch.java:26)


   原创文章,转载请标明本文链接: 项目中如何使用自定义异常类来实现错误码和错误信息的规范输出?

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注