只想处理 API 的异常处理程序类的异常。有什么办法可以去掉API的所有try-catch吗
使用@exceptionhandler,但这种方法没有解决目的。有没有什么方法不需要try catch?
当然,您所需要的只是一个顶部有
@ControllerAdvice
注释的类,并扩展 ResponseEntityExceptionHandler
例如:
@ControllerAdvice
public class RestErrorHandler extends ResponseEntityExceptionHandler {
// just for the example but you should probably handle specific exceptions rather than handle 'Exception.class'
@ExceptionHandler(Exception.class)
public ResponseEntity<Object> processError(Exception exception) {
// do something with the exception
return new ResponseEntity<>("Oups", INTERNAL_SERVER_ERROR);
}
...
}
当然你需要删除
try-catch
或重新抛出异常