在处理Spring DispatcherServlet处理的请求时抛出异常
这个全局处理程序不应该能够“捕获”它吗?
@ControllerAdvice
public class ExceptionControllerAdvice {
@ExceptionHandler(Exception.class)
public ResponseEntity<ErrorResponse> exceptionHandler(Exception ex) {
ErrorResponse error = new ErrorResponse();
error.setErrorCode(HttpStatus.INTERNAL_SERVER_ERROR.value());
error.setMessage("Please contact your administrator");
return new ResponseEntity<ErrorResponse>(error, HttpStatus.OK);
}
}
我执行的一些测试表明,像这样的处理程序无法捕获格式化程序甚至DispatcherServlet本身抛出的异常,例如在它找不到合适的目标处理程序的情况下。
这是预期的行为吗? 我在这里错过了什么吗?