Heim >Java >javaLernprogramm >Analyse von Fehlerbehandlungsbeispielen von HttpClient in Java
Erklärung
1. Die asynchrone HttpClient-Anfrage gibt CompletableFuture zurück, und eine eigene Ausnahmemethode kann für die Fallback-Verarbeitung verwendet werden.
2. Im Gegensatz zu WebClient gibt es bei HttpClient keine 4xx- oder 5xx-Statuscode-Ausnahmen. Sie müssen es entsprechend Ihrer eigenen Situation behandeln, Statuscode-Ausnahmen manuell erkennen oder andere Inhalte zurückgeben.
Instanzen
@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()); }
Das obige ist der detaillierte Inhalt vonAnalyse von Fehlerbehandlungsbeispielen von HttpClient in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!