DispatcherPortlet.java 文件源码

java
阅读 22 收藏 0 点赞 0 评论 0

项目:spring4-understanding 作者:
/**
 * Determine an error ModelAndView via the registered HandlerExceptionResolvers.
 * @param request current portlet request
 * @param response current portlet response
 * @param handler the executed handler, or null if none chosen at the time of
 * the exception (for example, if multipart resolution failed)
 * @param ex the exception that got thrown during handler execution
 * @return a corresponding ModelAndView to forward to
 * @throws Exception if no error ModelAndView found
 */
protected ModelAndView processHandlerException(
        RenderRequest request, RenderResponse response, Object handler, Exception ex)
        throws Exception {

    ModelAndView exMv = null;
    for (Iterator<HandlerExceptionResolver> it = this.handlerExceptionResolvers.iterator(); exMv == null && it.hasNext();) {
        HandlerExceptionResolver resolver = it.next();
        exMv = resolver.resolveException(request, response, handler, ex);
    }
    if (exMv != null) {
        if (logger.isDebugEnabled()) {
            logger.debug("HandlerExceptionResolver returned ModelAndView [" + exMv + "] for exception");
        }
        logger.warn("Handler execution resulted in exception - forwarding to resolved error view", ex);
        return exMv;
    }
    else {
        throw ex;
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号