有没有一种方法可以将@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中?

最佳答案

不可能:

  • Chained Annotated Exception Handling - @ExceptionHandler( SPR-13726 )
  • 10-07 23:37