我们如何在异步Web服务调用上处理异常?

时间:2012-12-30 13:08:39

标签: java asynchronous error-handling jax-ws

我无法弄清楚如何做到这一点,并且网络上的所有教程似乎只关注在一切正常的情况下检索结果。但是我应该如何改进以下代码来获取异常?

Future<?> fooFuture = webserviceEjbService.getWebServiceEjbPort()
        .fooAsync(new AsyncHandler<FooResponse>() {
        @Override
        public void handleResponse(Response<FooResponse> res) {
            if (res.isDone()) {
        result = res.get().getResponse();
        }
    });

1 个答案:

答案 0 :(得分:2)

如果计算引发Future,则Exception的{​​{3}}方法将抛出get()。将Exception设置为ExecutionException的原因。

这允许检查计算结果的线程处理该计算引发的异常。