java中HttpClient的错误处理实例分析
作者:吹吹风会发光
时间:2023-05-02
浏览:6
说明1、HttpClient异步请求返回CompletableFuture,其自带的exceptionally方法可用于fallback处理。2、HttpClient不像WebClient那样,它不会出现4xx或5xx的状态码异常,需要根据自己的情况进行处理,手动检测状态码异常或返回其他内容。实例@TestpublicvoidtestHandleException()throwsExecutionException,InterruptedException{HttpClientclient=HttpCli
本文目录
说明
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());
}
作者最新文章
Agent Space智能体如何进行功能测试
2026-11-01 08:45
Proxifier怎么卸载:Windows标准版彻底移除与配置清理指南
2026-10-30 09:37
七彩虹 iGame RTX 5070 Ti Ultra SFF 显卡图赏:嘻哈涂鸦风,设计更潮酷
2026-10-26 16:48
viso如何导入word的详细操作步骤教程
2026-10-20 16:03
蛙蛙写作苹果手机更新新版本怎么下载
2026-10-15 19:40
上一篇:
thinkPHP上线后如何隐藏域名
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































