带有继承类的spring ExceptionHandler

时间:2018-07-04 07:36:17

标签: java spring spring-mvc

我在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来检查要在此处调用的方法的顺序。

0 个答案:

没有答案