java.net.UnknownHostException: Érvénytelen hosztnév a kiszolgálóhoz
1. Bemutatkozás
Ebben az oktatóanyagban megtudhatjuk az okát UnknownHostException példával. Megbeszéljük a kivétel megelőzésének és kezelésének lehetséges módjait is.
2. Mikor dobják el a kivételt?
UnknownHostException azt jelzi, hogy a gazdagép IP-címét nem sikerült meghatározni.Ez a gépnév elírási hibája miatt történhet:
String hostname = "// locaihost"; URL url = új URL (gazdagépnév); HttpURLConnection con = (HttpURLConnection) url.openConnection (); con.getResponseCode ();
A fenti kód egy UnknownHostException mivel a hibásan elírt locaihost nem mutat semmilyen IP-címet.
Egy másik lehetséges oka annak UnknownHostException a DNS terjedésének késleltetése vagy a DNS hibás konfigurálása.
Akár 48 órába is beletelhet egy új DNS-bejegyzés terjedése az interneten.
3. Hogyan lehet megakadályozni?
A kivétel első előfordulásának megakadályozása jobb, mint későbbi kezelése. Néhány tipp a kivétel megelőzésére:
- Ellenőrizze még egyszer a gazdagép nevét: Győződjön meg arról, hogy nincs elírás, és vágja le az összes szóközt.
- Ellenőrizze a rendszer DNS-beállításait: Győződjön meg arról, hogy a DNS-kiszolgáló elérhető és elérhető, és ha a gazdagépnév új, várja meg, amíg a DNS-kiszolgáló felzárkózik.
4. Hogyan kell kezelni?
UnknownHostException kiterjed IOException, ami ellenőrzött kivétel. A többi bejelölt kivételhez hasonlóan vagy dobnunk kell, vagy körbevennünk a-val próbáld elkapni Blokk.
Kezeljük a kivételt a példánkban:
próbáld ki a {con.getResponseCode (); } catch (UnknownHostException e) {con.disconnect (); }
Jó gyakorlat, amikor lezárjuk a kapcsolatot UnknownHostException bekövetkezik. A sok pazarló nyitott kapcsolat miatt az alkalmazás memóriája kifogyhat.
5. Következtetés
Ebben a cikkben megtudtuk, mi okozza UnknownHostException, hogyan lehet megakadályozni és hogyan kell kezelni.
Mint mindig, a kód elérhető a Githubon.