java.net.UnknownHostException: Ugyldigt værtsnavn til server
1. Introduktion
I denne vejledning lærer vi årsagen til UnknownHostException med et eksempel. Vi diskuterer også mulige måder at forhindre og håndtere undtagelsen på.
2. Hvornår kastes undtagelsen?
UnknownHostException angiver, at værtsnavnets IP-adresse ikke kunne bestemmes.Det kan ske på grund af en skrivefejl i værtsnavnet:
Strengværtsnavn = "// locaihost"; URL url = ny URL (hostname); HttpURLConnection con = (HttpURLConnection) url.openConnection (); con.getResponseCode ();
Ovenstående kode kaster en UnknownHostException siden stavet forkert locaihost peger ikke på nogen IP-adresser.
En anden mulig årsag til UnknownHostException er forsinkelse af DNS-formering eller DNS-fejlkonfiguration.
Det kan tage op til 48 timer, før en ny DNS-post udbredes overalt på Internettet.
3. Hvordan undgår man det?
At forhindre undtagelsen i at forekomme i første omgang er bedre end at håndtere den bagefter. Et par tip til at forhindre undtagelsen er:
- Dobbeltkryds værtsnavnet: Sørg for, at der ikke er nogen skrivefejl, og beskær alle mellemrum.
- Kontroller systemets DNS-indstillinger: Sørg for, at DNS-serveren er tilgængelig og tilgængelig, og hvis værtsnavnet er nyt, skal du vente på, at DNS-serveren indhenter.
4. Hvordan håndteres det?
UnknownHostException strækker sig IOUndtagelse, som er en kontrolleret undtagelse. I lighed med enhver anden kontrolleret undtagelse skal vi enten smide den eller omgive den med en prøve-fangst blok.
Lad os håndtere undtagelsen i vores eksempel:
prøv {con.getResponseCode (); } fange (UnknownHostException e) {con.disconnect (); }
Det er en god praksis at lukke forbindelsen, når UnknownHostException opstår. En masse spildende åbne forbindelser kan få applikationen til at løbe tør for hukommelse.
5. Konklusion
I denne artikel lærte vi, hvad der forårsager det UnknownHostException, hvordan man forhindrer det, og hvordan man håndterer det.
Som altid er koden tilgængelig på Github.