manipulação de exceção para filtro na primavera

Eu estou lidando com exceções na primavera usando @ExceptionHandler. Qualquer exceção lançada pelo controlador é capturada usando o método anotado com @ExceptionHandler e a ação é tomada de acordo. Para evitar escrever @exceptionHandler para cada controlador, estou usando a anotação @ControllerAdvice.

Tudo funciona bem como esperado.

Agora eu tenho um filtro (sim, não interceptor, para lidar com determinado requisito) que é implementado usando DelegatingFilterProxy e ContextLoaderListener.

Quando eu estou jogando a mesma exceção do filtro acima, não é pego da maneira que foi feito no caso do controlador. É lançado diretamente para o usuário.

O que há de errado aqui?

questionAnswers(7)

yourAnswerToTheQuestion