重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文小编为大家详细介绍“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(); CompletableFutureresult = 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的错误处理实例分析”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。