Le printemps 3 contrôleur de gestionnaire d'exception problèmes de mise en œuvre

J'espérais mettre en œuvre une seule "ExceptionController" pour gérer les exceptions qui sont jetés dans l'exécution de mes autres contrôleurs de méthodes. Je n'avais pas précisé de quelle HandlerExceptionResolver dans mon contexte de l'application en fonction de la La documentation de l'API la AnnotationMethodHandlerExceptionresolver doit être démarré. J'ai vérifié en tant que tel à la source. Alors pourquoi ne pas les travaux suivants?

@Controller
public class ExceptionController {

  @ExceptionHandler(NullPointerException.class)
  public ModelAndView handleNullPointerException(NullPointerException ex) {
    //Do some stuff
    log.error(logging stuff)
    return myModelAndView;
  }
}

@Controller
public class AnotherController {

  @RequestMapping(value="/nullpointerpath")
  public String throwNullPointer() {
    throw new NullPointerException();
  }
}

Je vois dans les journaux de débogage que les trois par défaut, les gestionnaires d'exception sont demandé pour le traitement de l'exception, mais rien n'est fait et je vois "DispatcherServlet - n'a pas Pu terminer la demande". Suivi par l'utilisateur affiché de la stacktrace et 500 erreur Interne.

OriginalL'auteur predhme | 2010-04-13