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();
}
}
}