有没有一种方法可以将@ExceptionHandler与抛出异常链接起来?
我正在尝试在发送响应之前包装请求处理程序方法中抛出的异常:
@ExceptionHandler(value = JsonParseException.class)
public void handleJsonParseException(JsonParseException e) throws BadRequestException {
throw new BadRequestException(e);
}
@ResponseStatus(value = HttpStatus.BAD_REQUEST)
@ExceptionHandler(value = BadRequestException.class)
public @ResponseBody RestResponse handleBadRequest(BadRequestException e) {
log.info("Bad REST Request", e);
return constructErrorResponse(e);
}
因此,我想让
handleBadRequest()
捕获从handleJsonParseException()
重新抛出的BadRequestException。使用上面的代码,
handleJsonParseException()
导致服务器返回默认错误页面,而不是RestResponse
。这是可能的还是我必须将异常包装放入请求处理程序的try-catch中?
最佳答案
不可能: