java中HttpClient的错误处理实例分析

本文小编为大家详细介绍“java中HttpClient的错误处理实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“java中HttpClient的错误处理实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

创新互联专注于酒泉网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供酒泉营销型网站建设,酒泉网站制作、酒泉网页设计、酒泉网站官网定制、微信小程序定制开发服务,打造酒泉网络公司原创品牌,更为您提供酒泉网站排名全网营销落地服务。

说明

1、HttpClient异步请求返回CompletableFuture,其自带的exceptionally方法可用于fallback处理。

2、HttpClient不像WebClient那样,它不会出现4xx或5xx的状态码异常,需要根据自己的情况进行处理,手动检测状态码异常或返回其他内容。

实例

    @Test
    public void testHandleException() throws ExecutionException, InterruptedException {
        HttpClient client = HttpClient.newBuilder()
                .connectTimeout(Duration.ofMillis(5000))
                .build();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://twitter.com"))
                .build();
 
        CompletableFuture result = client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
//                .whenComplete((resp,err) -> {
//                    if(err != null){
//                        err.printStackTrace();
//                    }else{
//                        System.out.println(resp.body());
//                        System.out.println(resp.statusCode());
//                    }
//                })
                .thenApply(HttpResponse::body)
                .exceptionally(err -> {
                    err.printStackTrace();
                    return "fallback";
                });
        System.out.println(result.get());
    }

读到这里,这篇“java中HttpClient的错误处理实例分析”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。


文章标题:java中HttpClient的错误处理实例分析
文章分享:http://scyanting.com/article/pposdg.html