标签:instance dao层 final param style mes ase cte throwable
话不多说直接上代码,朋友们可自己测试用于项目:
BaseException类(基础类)
   /**
     *异常处理基类
     */
    public class BaseException extends RuntimeException {
        private static final long serialVersionUID = -3653870580234213024L;
        protected String messageKey;
        public BaseException() {
            super();
        }
        public BaseException(String s, Throwable throwable) {
            super(s, throwable);
        }
        public BaseException(Throwable throwable) {
            super(throwable);
        }
        public BaseException(String messageKey) {
            super();
            this.messageKey = messageKey;
        }
        /**
         * 取得异常信息key
         * @return String
         */
        public String getMessageKey() {
            return messageKey;
        }
        /**
         * 设置异常信息key
         * @param messageKey
         * @return void
         */
        public void setMessageKey(String messageKey) {
            this.messageKey = messageKey;
        }
        @Override
        public String getMessage() {
            return messageKey;
        }
DaoException类 (Dao层)
public class DaoException extends BaseException {
	private static final long serialVersionUID = -9006104640618533135L;
	public DaoException(String messageKey) {
		super.setMessageKey(messageKey);
	}
	public DaoException(String messageKey, Throwable t) {
		super.setMessageKey(messageKey);
		super.initCause(t);
	}
	public DaoException(Throwable t) {
		super.setMessageKey(t.getClass().getSimpleName());
		super.initCause(t);
	}
	public Throwable getOrignalException() {
		Throwable t = this.getCause();
		while(t.getCause() != null){
			t = t.getCause();
		}
		return t;
	}
	public String getOrignalMessageKey() {
		return this.getOrignalException().getClass().getSimpleName();
	}
}
ServiceException类(业务层)
public class ServiceException extends BaseException {
	private static final long serialVersionUID = -9006104640618533135L;
	public ServiceException(String messageKey) {
		super(messageKey);
	}
	public ServiceException(Throwable t) {
		if(t instanceof BaseException){
			super.setMessageKey(((BaseException) t).getMessageKey());
		}
		super.initCause(t);
	}
	public ServiceException(String messageKey, Throwable t) {
		super.setMessageKey(messageKey);
		super.initCause(t);
	}
	public ServiceException() {
	}
	public Throwable getOrignalException() {
		Throwable t = this.getCause();
		while(t.getCause() != null){
			t = t.getCause();
		}
		return t;
	}
	public String getOrignalMessageKey() {
		return this.getOrignalException().getClass().getSimpleName();
	}
}
标签:instance dao层 final param style mes ase cte throwable
原文地址:https://www.cnblogs.com/47Gamer/p/13225250.html