Olá Henrique,
Se a exceção TokenInvalidoException está sendo lançada no método getSubject() e não está chegando ao Handler de erros anotado com @RestControllerAdvice, é possível que outra camada do seu aplicativo esteja capturando e tratando a exceção antes de chegar ao ponto onde você espera.
Para resolver esse problema, você pode tentar o seguinte:
Verifique se não há outros manipuladores de exceção ou interceptadores configurados que possam estar capturando a exceção antes de chegar ao seu Handler de erros. Isso pode incluir configurações globais, filtros ou outros interceptadores.
Verifique se o pacote que contém o Handler de erros está sendo escaneado corretamente pelo Spring. Certifique-se de que a classe do Handler de erros está no caminho de pacote escaneado pelo Spring.
Se a exceção TokenInvalidoException for uma subclasse de RuntimeException, verifique se não há outros manipuladores de exceção específicos para RuntimeException que estejam sendo aplicados antes do seu Handler de erros. Nesse caso, a exceção pode estar sendo tratada por um manipulador mais genérico antes de chegar ao manipulador específico.
Verifique se a exceção TokenInvalidoException não está sendo capturada e tratada em outro ponto do código antes de chegar ao ponto onde você espera. Isso pode envolver uma chamada de método ou outra lógica de tratamento dentro do método getSubject().
Adicione logs de depuração em diferentes partes do código para rastrear o fluxo de execução e identificar onde exatamente a exceção está sendo tratada ou onde está sendo perdida.
Certifique-se de revisar todas essas possibilidades para identificar a causa raiz do problema. Se necessário, compartilhe mais detalhes sobre a estrutura do seu aplicativo e configurações relevantes para que eu possa ajudá-lo de forma mais precisa.
Espero que isso ajude a resolver o problema. Se você tiver mais dúvidas, fique à vontade para perguntar.