我在CustomExceptionEntityNotFound extends RuntimeException
课上并且
@ResponseBody
@ResponseStatus(value=HttpStatus.NOT_FOUND) // 404
@ExceptionHandler(CustomExceptionEntityNotFound.class)
public Object notFound(HttpServletRequest req, CustomExceptionEntityNotFound ex) throws IOException {
return ex;
}
@ResponseBody
@ResponseStatus(value=HttpStatus.INTERNAL_SERVER_ERROR) // 500
@ExceptionHandler(RuntimeException.class)
public Object runtimeException(HttpServletRequest req, RuntimeException ex) throws IOException {
logError(ex);
return ex.getMessage();
}
在 controller_1 中,我抛出RuntimeException()
在 controller_2 中,我抛出CustomExceptionEntityNotFound()
按预期方式为 controller_2 投掷500个响应而不是404,如果直接投掷CustomExceptionEntityNotFound
和投掷RuntimeException
则投掷404的正确方法是什么,谢谢!! / p>
有人可以解释spring如何分析带注释的类,是带有反射的吗?这些异常处理程序如何执行? Spring在运行时是否可以使用Reflection来检查要在此处调用的方法的顺序。