public static Object processException(ProceedingJoinPoint pjp, ExceptionProcessor processor) throws Throwable {
		try {
			return pjp.proceed();
		} catch (Throwable e) {
			Class substitute = getSubstitute(processor);
			String msg = messageProcess(pjp, processor, e);
			if (null != substitute && isMatch(e, substitute)) {
				handlerProcess(pjp, processor, e);
				substituteProcess(processor, e, msg);
			}
			throw e;
		}
	}