У меня есть метод в моем контроллере, который будет обрабатывать исключения, брошенные приложением. Поэтому у меня есть метод, подобный этому.@ExceptionHandler не обрабатывает заброшенные исключения
@Controller
public class ExceptionController {
@RequestMapping(value="/error")
@ExceptionHandler(value={Exception.class, NullPointerException.class})
public String showError(Exception e, Model model){
return "tiles:error";
}
}
И попробовать я, если это работает я бросаю NullPointerException в другом методе в другом контроллере метод:
boolean a = true;
if(a){
throw new NullPointerException();
}
После исключения выброшен он печатается в JSP, но это не делает go бросить мой метод showError() (я установил точку останова там, и он никогда не входит). Метод showError() поймает исключение и отобразит разные страницы ошибок в зависимости от типа исключения (хотя теперь он всегда показывает ту же страницу ошибок). Если я перейду к url / error, он отобразит страницу с ошибкой, чтобы метод showError() был в порядке.
Я использую Spring 3.
Что может быть проблема?
Спасибо.
Если вы хотите отделить обработку исключений от контроллеров, вместо этого используйте 'HandlerExceptionResolver': http://static.springsource.org/spring/docs/3.0. x/spring-framework-reference/html/mvc.html # d0e29470 – skaffman