So far now, I've tried;
1) to create a bean which extends org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver and implement doResolveException(..) method (It was waste of time because it already returns ModelAndView). The code is below:
 @Override
protected ModelAndView doResolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
    response.setStatus(534);
    log.trace("exception from HandlerExceptionResolver");
    log.error(ex.getMessage(),ex);
    Client bugsnag = new Client(BUGSNAG_API_KEY);
    //bugsnag code omitted
    ModelAndView modelAndView=new ModelAndView("error");
    return modelAndView;
}
2) to create a bean which implements javax.servlet.Fiter and implement doFilter(..) method (It was waste of time, too. Because it already returns ModelAndView)
 @Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
    try {
        filterChain.doFilter(request, response);
    } catch (Exception ex) {
        errorHandler.handleError(ex);
        log.trace("exception from HandlerExceptionResolver");
        log.error(ex.getMessage(),ex);
        Client bugsnag = new Client(BUGSNAG_API_KEY);
        //bugsnag code omitted
        RequestDispatcher error = request.getRequestDispatcher("error");
        error.forward(request,response);
    }
}
3) and the @ControllerAdvice annotation (this works all other exception except view exceptions like parsing)
All 3 solutions didn't work for me to catch view exception and navigate to error page. I think there must be a solution in filter level. But i couldn't manage it. (That's why methods return ModelAndView object does not work)
Any suggestion?
 
     
     
    