SzámítógépekProgramozás

Java: kivételek és kezelésük

Bármely program működni fog stabilan, ha a forráskód hibamentesítették, és nincsenek feltételek, amelyek okozhatnak váratlan helyzetekre. A folyamat a fogása esetleges hibák végezzük a programozást. Ehhez a fejlesztő figyelembe vesz minden a várt eredményeket, és megpróbálja korlátozni a hatását a hibát, hogy nem zavarja a működését a program, illetve nem vezet annak összeomlásához.

Ha szüksége lehet kivételkezelés

A Java, kivétel oka lehet a helytelen felhasználói bemenet, nincs szükség egy erőforrás vagy hirtelen hálózat lekapcsolása programot. A kényelmes használat által létrehozott alkalmazás fejlesztő, szabályoznia kell a előfordulása sürgősségi helyzetekben. A fogyasztónak nem kell várni, hogy kilép egy alkalmazást, hogy adatvesztés következtében kezelt kivétel, vagy csak egy részét egy üzenet jelenik meg, hogy valami baj.

Kezelés Java kivételek

Mit kell figyelembe venni? A Java nyelv saját beépített kivételkezelés funkciót. Persze, nagy százalékban hiba fogott egy másik összeállítás szakaszban, a rendszer automatikusan értesíti, hogy a használat már nem lehetséges. De van ez a fajta kivétel fordul elő, hogy a futás során. A fejlesztő képesnek kell lennie arra, hogy előre, és tervezni a kódot úgy, hogy nem okoz hibát, és kezelte egy különleges módon, és átadta a vezérlést egy másik ága.

A Java, ezt írja elő, hogy a fordító fogni egy kivétel, így a tipikus problémák ismertek, és egy szabványos gyakorlat mintákat.

jellemző kizárások

A legegyszerűbb példa, ahol lehet kapni egy kivétel - ezt a felosztást. Egyszerűsége ellenére, tekintve, mint egy elválasztó, lehet nulla, ami azt eredményezi, hogy hiba. Nos, ha ez lehetséges megjósolni a megjelenése a múlt és megelőzése. De ez a lehetőség nem mindig áll rendelkezésre, így fogása a kivételt kell megszervezni közvetlenül abban az esetben „nullával osztás”.

A Java mechanizmus, hogy elkapjam feldolgozási hiba a következőképpen néz ki:

  • halom kivétel objektum jön létre, valamint bármely más;
  • természetes lefolyását a program megszakad;
  • kizárási mechanizmus próbál találni egy alternatív módja, hogy továbbra is a kódot;
  • Keressen egy biztonságos végrehajtását a programot a processzor, a munka vagy visszaállítják, vagy fog történni megvalósítása kivétel különleges módon.

A legegyszerűbb példa létrehozásának hiba a következőképpen nézhet ki:

ha (a == null)

dobja új NullPointerException ();

Itt az a változó be van jelölve a inicializálás, azaz nem az, hogy a hivatkozás egy null objektumot. Ha ez a helyzet alakult ki, és különleges bánásmódot igényel, kivételt dobott egy dobás új NullPointerException ().

Néhány részletet kulcsszavak

Amikor foglalkozó kivételek gyakran kell használni a kulcsszó Java utal, hogy egy adott cselekvés. Ez a nyelv az öt programozás:

  • Próbálja. Ez a kulcsszó már találkozott, és ez azt jelenti, átmenet egy kódrészlet, mely lehet dobni egy kivételt. Blokk korlátozott zárójelek {}.
  • Fogás. Ez felfogja a kívánt kivétel típusát és kezelni megfelelően.
  • Végül. Ez a kulcsszó opcionális, és arra használjuk, hogy végre egy bizonyos darab kód, ami szükséges egyébként, még ha nem is kivétel nem fogott. Hozzáadott után közvetlenül try blokk.
  • Dobj - lehetővé teszi, hogy hozzon létre Java kivétel bárhonnan.
  • Dob - a kulcsszó, hogy bekerül az eljárás aláírás. Ez azt jelenti, hogy a következő kódot tud dobni egy kivételt az ilyen típusú Java. Ez a jel jelzéseként szolgál, hogy a fejlesztők, hogy meg kell venni, - a módszer nem a vártnak megfelelően tőle.

Elkapta egy próbát

Release Java kivételek természetesen feltételezi, hogy ez fogja kezelni egy speciális módon. A legkényelmesebb módja, hogy csinálni, ha a kód részben elkerített egy mondatban. Amelyek tartalmaznak egy kivételt. Ha ezt a kódot, akkor a virtuális gép talál egy váratlan helyzet, megértjük, hogy van egy olyan kritikus blokk és átadja a vezérlést az állomást a feldolgozást.

A Java kód csomagolva egy speciális blokk próbát, amelyen belül lehet kivétel. Így, aki feltöltött néhány váratlan helyzetek lesz fogott ugyanazon a helyen, nem raspolzayas kódot.

A legjellemzőbb kódot a feldolgozó egység a következő:

try {

// Itt van néhány kód tartalmazza, amelyek kivétel

} Fogás (Tip_isklyucheniya_1 identifikator_1) {

// Itt van kivételkezelés, típusa szerint és feltételek mellett;

} Fogás (Tip_isklyucheniya_2 identifikator_2) {

// Itt van kivételkezelés, típusa szerint és feltételek mellett;

}

Kulcsszó fogási jelentések, hogy a kódot, és kutatnak az kivétel, hogy kell kezelni, mint az alábbiakban leírt, feltéve, hogy megfelel a típus. Az azonosító lehet használni a feldolgozás a kód blokk érveket.

végül

Mint kiderült, az előző fejezetben, a fogási blokkok fogás kivételek és feldolgozni azokat. De nagyon gyakran a helyzet áll elő, ahol meg kell futtatni egy kódot, függetlenül attól, hogy fogtak hibákat. Erre ott van a kulcsszó végül. Arra használják, hogy növeljék az értékek a különféle számlálókat, záró fájlokat vagy a hálózati kapcsolatokat.

Ez a telek bemutat néhány fogást blokkok kitalált módszereket fogni kivételek. Például szereplő kód try generál egy váratlan helyzetben, mint például a Cold. Ezután a konzol fog megjelenni kifejezést «megfázott!» És a «Van, hogy valami felvidítani kb?». Azaz, a végül mondat végrehajtása minden esetben.

Sőt, olyan módon, hogy elkerüljék a kiváltó végül ott. Ez kapcsolódik a befejezése a virtuális gép. Meg, hogyan hajtják végre, hogy lehetséges az interneten nyílt terek.

throw kulcsszó

Throw kivételt állít elő. A szintaxis a következő:

dobja új NewException ();

Ott jön létre egy új kivétel típusának NewException (). Ennek típus is használható már szerepel a standard Java könyvtár osztályok és a korábban meghatározott fejlesztő saját termelés.

Ez a kialakítás a leírás részét bármilyen módszer, amely a hívás akkor fordul elő a try blokkban, annak érdekében, hogy képes legyen elfogják azt.

Kulcsszó dob

Mi van, ha a folyamat fejlesztése a helyzet, amikor az eljárás dobni egy kivételt, de nem képesek megfelelően kezelni. Ebből a célból az eljárás aláírás megadja a szót dob és típusa lehetséges kivételek.

Ez a címke egyfajta mutatója kliens fejlesztők, hogy a módszer nem képes kezelni a fenti kivételtől eltekintve. Ezen felül, ha a hiba jellege van jelölve, akkor a fordító fogja kényszeríteni kifejezetten kérni kell.

Próbálja erőforrások

A Java 7-es verzió a fejlesztők is egy jelentős innováció, mint a kezelés try blokk források.

Sok objektumokat hoz létre a Java, használat után le kell állítani az erőforrások védelme. Korábban kellett vennie ezt, és ne ilyen esetekben kézzel. Most azonban úgy tűnt AutoClosable felület. Segít, hogy automatikusan lezárja a már használt elhelyezett tárgyak try blokkba. Ezzel a megközelítéssel vált sokkal kényelmesebb, hogy írjon kódot az olvashatóság jelentősen megnő.

Saját osztályok Java kivételek

Az alkotók a leírt programozási nyelv figyelembe vette sok szempontból a tervezési típusú vészhelyzet esetén. Azonban az összes lehetőséget, hogy megakadályozzák az események kimenetele nem fog működni, így a Java végre képes meghatározni a saját kivételeket, helyénvaló, hogy az igényeinek az adott kódot.

A legegyszerűbb módja annak, hogy hozzon létre - örökölni a leginkább megfelel a tárgy kontextusban.

Ott történt örökölni Kivétel, az osztály, hogy használják, meghatározza a saját kivételek. A MyException két konstruktőrök - alapértelmezett, a második - azzal az érvvel msg String.

Ezután a nyilvános tantermi FullConstructors megvalósított eljárás f, amely az aláírás dob MyException. Ez a kulcsszó azt jelenti, hogy f lehet dobni, mint a Java MyException kivétel. Továbbá az eljárás szervezetben termelt szöveges információk kimenet a konzolra magát, és a tényleges termelés MyException, a dobás.

A második módszer kissé eltér az első, hogy amikor létrehoz egy kivétel, akkor eltelt egy-paraméter, ami tükröződni fog a konzol fogása. A fő egyértelmű, hogy az f () és g () helyezünk egy próbát ellenőrzési és kulcsszó fogás van kialakítva, hogy rögzítse MyException. A feldolgozás eredménye az, hogy egy hibaüzenetet jelenít meg a konzolon:

Így jött hozzá Java kivételek, saját keze által.

építészet kivételek

Mint minden objektumot a Java, a kivételeket is örökölte, és egy hierarchikus struktúrát. A gyökér elem az összes hibát dobott ebben a programozási nyelv osztály java.lang.Throwable. Örökölt tőle kétféle - Hiba és kivétel.

Hiba - jelzi a kritikus hibát, és nincs bejelölve a Java kivételek. Lehallgatás és feldolgozza az adatokat a legtöbb esetben fordul elő a tervezési fázisban, és nincs szükségük bevezetésének a végső alkalmazás kódját.

A leggyakrabban használt osztály létrehozására és elemzésére kivételek Kivétel. Ami viszont van osztva több részre, beleértve RuntimeException. By RuntimeException a futásidejű kivételeket, azaz előforduló a program során. Minden osztály belőle származó olyan ellenőrizhetetlen.

Gyakran vannak kivételek

A Java kivételek, melyek listáját az alábbiakban kerül bemutatásra, a leggyakrabban használt, ezért írják mindegyik részletesen:

  • ArithmeticException. Ezek közé tartoznak a kapcsolatos hibák aritmetikai műveleteket. A legszembetűnőbb példa - a nullával osztani.
  • ArrayIndexOutOfBoundsException - fordul a tömb elem számát, amely meghaladja a teljes hossza.
  • ArrayStoreException - kisérlet arra, hogy nem kompatibilis elem típusa a tömb.
  • ClassCastException - egy kísérlet, hogy a rossz egyik típusról a másikra.
  • IllegalArgumentException - a rossz érv a módszer hívást.
  • NegativeArraySizeException - kivétel, ha létrehoz egy sor negatív méretét.
  • NullPointerException - visszaélés hivatkozások null.
  • NumberFormatException - akkor jelentkezik, amikor egy rossz húr átalakítás egész.
  • UnsupportedOperationException - művelet nem támogatott.

Ezek a példák képviselik a fajta nem ellenőrzött Java kivétel. De úgy néz ellenőrizni:

  • ClassNotFoundException - Class not found.
  • IllegalAcccessException - korlátozza a hozzáférést az osztályban.
  • InterruptedException - megszakítását az áramlás.
  • NoSuchFieldException - nincsenek kötelező mező.

Az értelmezés a kivételek

Apropó gyakran előforduló kivételeket kell jegyezni, hogy azok értelmezését a design, érzékelhető helytelenül. Következik egy rövid lista ismerteti részletesebben, ahol lehet egy váratlan helyzetben.

NullPointerException. A legelső eset, amikor van egy kivétel, hogy fellebbezni hivatkozás egy tárgy, amely egyenlő null. Azt is kiterjed a nulla osztály példányát módszerek. NullPointerException lehet dobni megszerzése esetében azonos hosszúságú null tömb. Ennek elkerülése érdekében rendszeresen ellenőrzi oldalak a null.

ArrayIndexOutOfBoundsException. Bármely program nem létezhet használata nélkül tömbök. Ennek megfelelően, a gyakori igénybevétele tud generálni és hiba. Kivétel akkor jelentkezik, amikor egy fejlesztő próbál hozzáférni egy olyan elemre, amely nem szerepel a listán index. Például, a kért érték felett vagy alatt nulla hosszúságú. Nagyon gyakran annak az eredménye, hogy a tömb kezdődik nulla pontot.

megállapítások

Kezelés Java kivételtől eltekintve - egy hatékony eszköz környezet, ami nagyban megkönnyíti a munkát a programozó, és lehetővé teszi neki, hogy hozzon létre egy tiszta és mentes a kód hibákat. Arról, hogyan egyenletes és stabil működése alkalmazás állapotától függ és hírneve a fejlesztő.

Persze, egy többé-kevésbé egyszerű programok nyomon követni a rendkívüli helyzetek sokkal könnyebb. De nagy automata komplexek néhány százezer vonalak ez csak akkor lehetséges, ennek eredményeként a hosszú távú tesztelése és a hibakeresés.

Java kivétel hibát felmerülő egyes alkalmazások, néhány cég kínál jutalmat, ha úgy találják rajongóknak. Különösen nagyra értékelik azok, amelyek miatt sérti a biztonsági politika szoftver.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hu.delachieve.com. Theme powered by WordPress.