package message.validate.exception; import message.utils.PropertyPlaceholderHelper; import message.validate.constants.ValidateConstants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.lang.annotation.Annotation; import java.lang.reflect.Field; /** * 默认的异常处理类. * * @author sunhao(sunhao.java@gmail.com) * @version V1.0 * @createTime 12-12-2 上午1:11 */ public class DefaultExceptionHandler implements ExceptionHandler { private static final Logger logger = LoggerFactory.getLogger(DefaultExceptionHandler.class); public void doHandleException(Class<?> validateClass, Field validateField, Object value, Annotation annotation) throws Exception { Exception ex = new DataValidateException(10011, ValidateConstants.VALIDATE_NO, validateClass.getName(), validateField.getName(), value.toString(), annotation.annotationType().getSimpleName()); if (logger.isErrorEnabled()) logger.error(PropertyPlaceholderHelper.replacePlaceholder(ValidateConstants.VALIDATE_NO, new Object[]{ validateClass.getName(), validateField.getName(), value, annotation.annotationType().getSimpleName() }), ex); throw ex; } }