首页 > 解决方案 > 如何捕捉 Feign OkhhtpClient SocketTimeOut 异常?

问题描述

当我尝试使用 feign OkhttpClient 调用 API 时,我应该得到 readTimeout 并且它按预期发生。

客户端界面:

    public interface productDetailClient {
     ProductDetails getProductDetails(String partNo);
    }

ProductDetailsImpl 类中的实际服务方法:

Product product = productDetailClient.getProductDetails("1234");

在本地,我将 readTimeout 测试为“2000”毫秒。在上面的代码行中,它抛出了这个异常“java.lang.reflect.UndeclaredThrowableException”。如果我尝试使用“异常”类型进行捕获,我可以捕获,但我想使用特定异常,例如“SocketTimeoutException”。但是,如果我使用“SocketTimeoutException”,它会显示为“Exception 'java.net.SocketTimeoutException' is never throw in the specific try block”,那么捕获“SocketTimeoutException”的最佳方法是什么?

标签: feignchecked-exceptions

解决方案


推荐阅读