rose.getInvocation().setViewModule(errorHandlerModule);
//
HttpServletRequest request = rose.getInvocation().getRequest();
WebUtils.exposeErrorRequestAttributes(request, cause, null);
StackTraceSimplifier.simplify(cause); //对栈进行简化
instruction = errorHandler.onError(rose.getInvocation(), cause);
}
// onError方法返回null,表示需要重新throw出去
// rethrow出去的不是cause而是invException,目的要把整个异常抛出来,以让知道整个异常的来由
if ((errorHandler == null) || (instruction == null)) {