You can handle vertx failure with:
Example:
clientRequest
.send(serverRequest)
.onFailure(err -> // called first, you can't return a response })
.compose(clientResponse -> {
// do the work
return clientResponse.body();
}, err -> {
// called second, you can return a response
return Future.succeededFuture(Buffer.buffer());
});