类 ThrowsAdviceInterceptor

java.lang.Object
infra.aop.framework.adapter.ThrowsAdviceInterceptor
所有已实现的接口:
AfterAdvice, Advice, Interceptor, MethodInterceptor

public class ThrowsAdviceInterceptor extends Object implements MethodInterceptor, AfterAdvice
Interceptor to wrap an after-throwing advice.

The signatures on handler methods on the ThrowsAdvice implementation method argument must be of the form:
void afterThrowing([Method, args, target], ThrowableSubclass);

Only the last argument is required.

Some examples of valid methods would be:

public void afterThrowing(Exception ex)
public void afterThrowing(RemoteException)
public void afterThrowing(Method method, Object[] args, Object target, Exception ex)

This is a framework class that need not be used directly by Framework users.

从以下版本开始:
4.0
作者:
Rod Johnson, Juergen Hoeller, Harry Yang
另请参阅:
  • 字段详细资料

    • AFTER_THROWING

      private static final String AFTER_THROWING
      另请参阅:
    • logger

      private static final infra.logging.Logger logger
    • throwsAdvice

      private final Object throwsAdvice
    • exceptionHandlerMap

      private final Map<Class<?>,Method> exceptionHandlerMap
      Methods on throws advice, keyed by exception class.
  • 构造器详细资料

    • ThrowsAdviceInterceptor

      public ThrowsAdviceInterceptor(Object throwsAdvice)
      Create a new ThrowsAdviceInterceptor for the given ThrowsAdvice.
      参数:
      throwsAdvice - the advice object that defines the exception handler methods (usually a ThrowsAdvice implementation)
  • 方法详细资料

    • getHandlerMethodCount

      public int getHandlerMethodCount()
      Return the number of handler methods in this advice.
    • invoke

      @Nullable public Object invoke(MethodInvocation mi) throws Throwable
      从接口复制的说明: MethodInterceptor
      Implement this method to perform extra treatments before and after the invocation. Polite implementations would certainly like to invoke Joinpoint.proceed().
      指定者:
      invoke 在接口中 MethodInterceptor
      参数:
      mi - the method invocation joinpoint
      返回:
      the result of the call to Joinpoint.proceed(), might be intercepted by the interceptor.
      抛出:
      Throwable - if the interceptors or the target-object throws an exception.
    • getExceptionHandler

      @Nullable private Method getExceptionHandler(Throwable exception)
      Determine the exception handle method for the given exception.
      参数:
      exception - the exception thrown
      返回:
      a handler for the given exception type, or null if none found
    • invokeHandlerMethod

      private void invokeHandlerMethod(MethodInvocation mi, Throwable ex, Method method) throws Throwable
      抛出:
      Throwable