Ich habe eine Methode in meinem Controller, die die Ausnahmen behandelt, die von der Anwendung ausgelöst werden. Also habe ich eine Methode wie diese.@ExceptionHandler behandelt die geworfenen Ausnahmen nicht
@Controller
public class ExceptionController {
@RequestMapping(value="/error")
@ExceptionHandler(value={Exception.class, NullPointerException.class})
public String showError(Exception e, Model model){
return "tiles:error";
}
}
Und ich, um zu versuchen, ob es funktioniert ich eine Nullpointer in einem anderen Verfahren in anderen Verfahren Controller werfen:
boolean a = true;
if(a){
throw new NullPointerException();
}
Nachdem die Ausnahme ausgelöst wird es in der JSP gedruckt wird, aber es funktioniert nicht gehe ich meine showError() Methode (ich habe dort einen Haltepunkt gesetzt und es tritt nie ein). Die showError() -Methode fängt die Ausnahme ab und zeigt je nach Ausnahmetyp verschiedene Fehlerseiten (obwohl sie jetzt immer die gleiche Fehlerseite anzeigt). Wenn ich auf die URL/Fehler gehe, zeigt es die Fehlerseite, so dass die Methode showError() OK ist.
Ich bin mit Frühling 3.
Was das Problem sein kann?
Danke.
Wenn Sie Ausnahme Behandlung von den Controllern entkoppeln wollen, dann verwenden Sie stattdessen eine 'HandlerExceptionResolver': http://static.springsource.org/spring/docs/3.0. x/spring-framework-reference/html/mvc.html # d0e29470 – skaffman