AuthException.java 1.82 KB
package cn.csbr.app.exception;

import java.util.List;

/** 权限相关异常
 * Created by tdl on 2017/4/28.
 */
public class AuthException extends RuntimeException {

    private int level;
    private List<String> codes;
    private String message;

    public AuthException() {
        init();
    }

    /**
     * @param level   错误等级
     * @param message 错误原始描述
     */
    public AuthException(int level, String message) {
        super(message);
        this.message = message;
        init();
        this.level = level;
    }

    /**
     * @param level   错误等级
     * @param codes   错误编码集合
     * @param message 原始的错误信息
     */
    public AuthException(int level, List<String> codes, String message) {
        super(message);
        this.message = message;
        init();
        this.level = level;
        this.codes = codes;
    }

    public AuthException(String message) {
        super(message);
        this.message = message;
        init();
    }

    public AuthException(String message, Throwable cause) {
        super(message, cause);
        this.message = message;
    }

    public AuthException(Throwable cause) {
        super(cause);
    }

    public AuthException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
        super(message, cause, enableSuppression, writableStackTrace);
        this.message = message;
        init();
    }

    private final void init() {
        level = 0;
        codes = null;
    }

    /**
     * @return 错误等级
     */
    public int getLevel() {
        return level;
    }

    /**
     * @return 错误编码,每个元素是一个错误编码
     */
    public List<String> getCodes() {
        return codes;
    }

    public String getMessage() {
        return this.message;
    }
}