J'ai plusieurs classes annotées avec @ControllerAdvice
, chacune avec une méthode @ExceptionHandler
.
L'une gère l' Exception
avec l'intention que si aucun gestionnaire plus spécifique n'est trouvé, celui-ci doit être utilisé.
Malheureusement, Spring MVC semble toujours utiliser le cas le plus générique (Exception
) plutôt que des cas plus spécifiques (IOException
par exemple).
Est-ce ainsi que l'on s'attend à ce que Spring MVC se comporte? J'essaie d'imiter un modèle de Jersey, qui évalue chaque ExceptionMapper
(composant équivalent) pour déterminer à quelle distance le type déclaré qu'il gère est de l'exception qui a été lancée, et utilise toujours l'ancêtre le plus proche.