¿Cómo manejar las excepciones generadas al representar una vista en Spring MVC?

Tengo una aplicación Spring MVC que utiliza FreeMarker como tecnología de visualización (pero tal vez la tecnología de visualización no sea importante para mi pregunta). Necesito interceptar todas las excepciones que pueden ser lanzadas durante una solicitud.

He implementado unHandlerExceptionResolver pero esta resolución solo se ejecuta cuando se produce la excepción dentro de un controlador. Pero cuando un controlador devuelve un ModelAndView y se produce la excepción al renderizar la vista (debido a que no se encontró una variable o algo así), no se llama al solucionador de excepciones y en su lugar aparece un seguimiento de pila en la ventana del navegador.

También intenté usar un método de control de excepciones dentro del controlador que devuelve la vista y lo anoté con @ExceptionHandler, pero esto tampoco funciona (lo más probable es que la excepción no se lance en el controlador sino en la vista).

Entonces, ¿hay algún mecanismo Spring donde pueda registrar un controlador de excepciones que capture errores de visualización?

Respuestas a la pregunta(3)

Su respuesta a la pregunta