Spring提供了HandlerExceptionResolver这个异常解析器接口。
实现HandlerExceptionResolver接口很简单,你只需要实现resolveException(Exception, Handler)这个方法,返回一个ModelAndView对象即可。

解决方案 »

  1.   

    好像有一个handler类的
    感觉和struts的handler比较类似-
    所有的异常交给handler处理
    handler能处理的就处理掉了
    不能得再抛出来吧
    呵呵
      

  2.   

    我继承这个接口实现抓取
    IntroductionInterceptor public class ExceptionCatchReturn  implements IntroductionInterceptor {

    protected static final Log logger = LogFactory
    .getLog(ExceptionCatchReturn.class);

    /* (non-Javadoc)
     * @see org.aopalliance.intercept.MethodInterceptor#invoke(org.aopalliance.intercept.MethodInvocation)
     */
    public Object invoke(MethodInvocation invocation) throws Throwable {
            System.out.println("Before: invocation=[" + invocation + "]");
            Object rval = null;
            
            try {
    rval = invocation.proceed();
    } catch (Throwable e) {
    StringBuffer sb = new StringBuffer();
    sb.append(",<ERROR>,");
    sb.append(",Exception,");
    sb.append(e.getClass().getName());
    logger.error(sb, e);
    }
            System.out.println("Invocation returned");
            return rval;
        } /* (non-Javadoc)
     * @see org.springframework.aop.DynamicIntroductionAdvice#implementsInterface(java.lang.Class)
     */
    public boolean implementsInterface(Class arg0) {
    // TODO Auto-generated method stub
    return false;
    }
    }