public static boolean declaresException(Method method,Class<?> exceptionType){
  Assert.notNull(method,"Method must not be null");
  Class<?>[] declaredExceptions=method.getExceptionTypes();
  for (  Class<?> declaredException : declaredExceptions) {
    if (declaredException.isAssignableFrom(exceptionType)) {
      return true;
    }
  }
  return false;
}

public static boolean declaresException ( Method method , Class < ? > exceptionType ) { Assert . notNull ( method , "Method must not be null" ) ; Class < ? > [ ] declaredExceptions = method . getExceptionTypes ( ) ; for ( Class < ? > declaredException : declaredExceptions ) { if ( declaredException . isAssignableFrom ( exceptionType ) ) { return true ; } } return false ; }
determine whether the given method explicitly declares the given exception or one of its superclasses , which means that an exception of that type can be propagated as - is within a reflective invocation .
