java.net.UnknownHostException: Ugyldig vertsnavn for server

1. Introduksjon

I denne opplæringen lærer vi årsaken til UnknownHostException med et eksempel. Vi vil også diskutere mulige måter å forebygge og håndtere unntaket på.

2. Når kastes unntaket?

UnknownHostException indikerer at IP-adressen til vertsnavnet ikke kunne bestemmes.Det kan skje på grunn av en skrivefeil i vertsnavnet:

String vertsnavn = "// locaihost"; URL url = ny URL (vertsnavn); HttpURLConnection con = (HttpURLConnection) url.openConnection (); con.getResponseCode ();

Ovennevnte kode kaster en UnknownHostException siden feilstavet locaihost peker ikke på noen IP-adresser.

En annen mulig årsak til UnknownHostException er DNS-forplantningsforsinkelse eller DNS-feilkonfigurasjon.

Det kan ta opptil 48 timer før en ny DNS-oppføring forplantes over hele Internett.

3. Hvordan forhindre det?

Å forhindre at unntaket i utgangspunktet oppstår er bedre enn å håndtere det etterpå. Noen få tips for å forhindre unntaket er:

  1. Dobbeltsjekk vertsnavnet: Forsikre deg om at det ikke er noen skrivefeil, og trimm alle mellomrommene.
  2. Sjekk systemets DNS-innstillinger: Forsikre deg om at DNS-serveren er tilgjengelig og tilgjengelig, og hvis vertsnavnet er nytt, vent på at DNS-serveren tar igjen.

4. Hvordan håndtere det?

UnknownHostException strekker IO Unntak, som er et sjekket unntak. I likhet med alle andre kontrollerte unntak, må vi enten kaste den eller omgi den med en prøvefangst blokkere.

La oss håndtere unntaket i vårt eksempel:

prøv {con.getResponseCode (); } fange (UnknownHostException e) {con.disconnect (); }

Det er en god praksis å lukke forbindelsen når UnknownHostException inntreffer. Mange bortkastede åpne forbindelser kan føre til at applikasjonen går tom for minne.

5. Konklusjon

I denne artikkelen lærte vi hva som forårsaker det UnknownHostException, hvordan du kan forhindre det, og hvordan du skal håndtere det.

Som alltid er koden tilgjengelig på Github.


$config[zx-auto] not found$config[zx-overlay] not found