【说站】java中HttpClient的错误处理
2024-11-12
58
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<String> 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学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。
更新于:2个月前赞一波!1
相关文章
- 【说站】python错误类型捕获的方法
- 【说站】java类加载器的分类
- 【说站】java类的两种引用方法
- 【说站】java转义字符
- 【说站】java基本数据类型
- 【说站】java动态和静态语言的比较
- 【说站】java中Class类的概念介绍
- 【说站】java多态的向上转型是什么
- 【说站】java向下转型是什么意思
- 【说站】java重写发生的条件
- 【说站】java动态绑定怎么用
- 【说站】java多态的好处
- 【说站】java对象池的使用步骤
- 【说站】java向上转型发生的时机
- 【说站】java中变量的使用注意
- 【说站】java类加载的过程
- 【说站】java反射如何调用指定的属性
- 【说站】java RMI的工作过程
- 【说站】java反射机制提供哪些功能
- 【说站】java class实例代表哪些结构
文章评论
评论问答