Utoljára Frissítve augusztus 29-én, 2020-ra a Scientech Könnyű
ebben A leckében bemutatjuk kivétel hierarchia Java az ábrák, rövid leírással.
az előző bemutatóban elmagyaráztuk a kivételkezelés alapvető pontjait Java-ban, kivételkezelő valós idejű példákkal. Azt javaslom, hogy először ismerkedjen meg az alapvető pontokkal.,
Types of Exceptions in Java
Basically, there are two types of exceptions in java API. They are:
1. Predefined Exceptions (Built-in-Exceptions)
2. Custom Exceptions
Predefined Exceptions:
Predefined exceptions are those exceptions that are already defined by Java system. These exceptions are also called built-in-exceptions.
Java API supports exception handling by providing the number of predefined exceptions. These predefined exceptions are represented by classes in java.,
előre definiált kivétel esetén a JVM (Java runtime system) létrehoz egy előre definiált kivételosztály objektumát. Minden kivétel java-ból származik.lang.Dobható osztály, de nem minden kivétel osztályok meghatározott ugyanabban a csomagban.
a java által támogatott összes előre definiált kivétel alosztályként van rendezve egy hierarchiában a dobható osztály alatt.
a dobható osztály a kivételhierarchia gyökere, az Objektumosztály azonnali alosztálya. Vessünk egy pillantást a java kivétel hierarchiájára, amint az az alábbi ábrán látható.
1., Dobható osztály: amint az a fenti ábrán látható, dobható osztály, amely származik objektum osztály, egy felső kivétel hierarchia, ahonnan minden kivétel osztályok származnak közvetlenül vagy közvetve. Ez az összes kivétel osztály gyökere. Jelen van a java-ban.lang csomag.
A dobható osztály a java összes kivételének szuperosztálya. Ennek az osztálynak két alosztálya van: hiba és kivétel. A java programokban előforduló hibák vagy kivételek ezen osztályok objektumai. A dobható osztály használatával saját egyéni kivételeket is létrehozhat.
2., Hiba: a Hibaosztály a dobható osztály alosztálya, az összes futási hibaosztály szuperosztálya. Megszünteti a programot, ha probléma merül fel egy rendszerrel vagy erőforrásokkal (JVM) kapcsolatban.
a hiba általában szokatlan problémát vagy helyzetet jelent, amelyből nehéz helyreállítani. Nem fordul elő programozói hibák. Általában akkor fordul elő, ha a rendszer nem működik megfelelően, vagy az erőforrás nem megfelelően van elosztva.
VirtualMachineError, StackOverFlowError, AssertionError, LinkageError, OutOfMmeoryError stb., További részleteket a további oktatóanyagokban fogunk megtudni.
3. Kivétel: egy kivétel osztály képviseli, amely a program által okozott hibákat, valamint külső tényezőket jelent. A kivétel osztály a dobható osztály alosztálya, az összes kivétel osztály szuperosztálya. Az összes kivételosztály közvetlenül vagy közvetve a Kivételosztályból származik. Ezek általában az alkalmazáson belül származnak.,
a kivétel osztály két konstruktort biztosít:
- Public Exception () (Default constructor)
- Public Exception (String message) (argumentumként vesz egy üzenetet)
mindegyik kivételosztály két konstruktort biztosít: az egyik argumentum nélkül, a másik pedig egy String típusú argumentummal. Kivétel osztály nem nyújt saját módszert. Örökli a dobható osztály által biztosított összes módszert.,
kivétel osztály hierarchia Java
a hierarchia kivétel osztály Java már látható az alábbi ábrán, hogy nagyon fontos egy interjú célra.
egyéni kivételek:
egyéni kivételek azok a kivételek, amelyeket a felhasználók vagy a programozók saját igényeik szerint hoznak létre. Az egyéni kivételeket felhasználó által definiált kivételeknek is nevezik, amelyeket a kivétel osztály kiterjesztésével hoznak létre.,
tehát a Java lehetőséget biztosít a programozók számára, hogy kivételeket dobjanak és kezeljenek, miközben az általuk megoldott problémák funkcionális követelményeivel foglalkoznak. A további útmutatókban részletesebben tárgyaljuk az egyéni kivételeket.
lássuk a Kivételosztály minden Alosztályának rövid leírását.
RuntimeException osztály (nem ellenőrzött kivételek)
RuntimeException osztály egy alosztály a kivétel osztály. A JVM vagy programozottan dobja el, ha a programban végrehajtott számtani művelet helytelen, vagy hiba/hiba lép fel a program kódjában.,
RuntimeException minden kivétel alosztályok nem ellenőrzi a Java fordító, mert előfordulnak futási ideje alatt a program. Ezért ezeket a kivételeket nem ellenőrzött kivételeknek is nevezik.
a RuntimeException osztály számos más kivétel alosztályból áll, amelyeket egy adott típusú kivétel kezelésére használnak. Eltekintve ezektől a kivétel alosztályok RuntimeException osztály látható a fenti ábrán, vannak még más alosztályok RuntimeException osztály, amely még nem látható a hierarchia szerkezete diagram, hogy elkerüljék a komplexitás.,
lássuk egy rövid leírást róluk.
1. ArithmeticException: ez a kivétel akkor kerül eldobásra, amikor aritmetikai problémák merülnek fel, például egy számot nullával osztva. Vagyis a matematika hibája okozza.
2. ClassCastException: a ClassCastException egy futásidejű kivétel, amelyet a JVM dob, amikor megpróbáljuk érvénytelen typecasting a programban. Vagyis akkor dobják el, amikor egy objektumot egy alosztályba dobunk, amelynek egy objektum nem példány.
3., IllegalArgumentException: ezt a futásidejű kivételt programozottan dobják el, amikor egy illegális vagy megfelelő argumentumot átadnak egy módszer hívására. Ez a kivétel osztály további két alosztályok:
- NumberFormatException
- IllegalThreadStateException
NumericFormatException: NumberFormatException dobott által programból, amikor megpróbáljuk átalakítani egy string-be, majd a szám típusát, majd a folyamat az illegális konverzió sikertelen. Ez azt jelenti, hogy a karakterlánc numerikus formátumba történő illegális átalakítása miatt következik be.,
IllegalThreadStateException: IllegalThreadStateException kivétel egy futásidejű kivétel, amelyet programozottan dobunk, amikor megpróbálunk bármilyen műveletet végrehajtani egy szálon, de ez nem kompatibilis az aktuális szálállapotgal.
4. IndexOutOfBoundsException: ezt a kivételosztályt a JVM dobja, amikor egy tömb vagy karakterlánc kilép a megadott indexből., It has two further subclasses:
- ArrayIndexOutOfBoundsException
- StringIndexOutOfBoundsException
ArrayIndexOutOfBoundsException: ArrayIndexOutOfBoundsException exception is thrown when an array element is accessed out of the index.
StringIndexOutOfBoundsException: StringIndexOutOfBoundsException exception is thrown when a String or StringBuffer element is accessed out of the index.
5., NullPointerException: NullPointerException egy futásidejű kivétel, amely dobott JVM amikor megpróbáljuk használni null helyett egy objektumot. Vagyis akkor dobják el, ha a hivatkozás nulla.
6. ArrayStoreException: ez a kivétel akkor fordul elő, amikor megpróbálunk bármilyen értéket tárolni egy tömbben, amely nem tömb típusú. Tegyük fel például, hogy egy tömb egész típusú, de megpróbálunk egy másik típusú elem értékét tárolni.
7., IllegalStateException: az IllegalStateException kivételt programozottan dobják el, ha a futásidejű környezet nincs megfelelő állapotban bármilyen módszer hívásához.
8. IllegalMonitorStateException: ez a kivétel akkor kerül eldobásra, ha egy szálnak nincs joga egy objektum megfigyelésére, és megpróbálja elérni a wait(), notify(), and notifyAll() metódusokat.
9. NegativeArraySizeException: a NegativeArraySizeException kivétel akkor kerül eldobásra,amikor egy tömb negatív méretű.,
A Java
ellenőrzött kivételek listája most egy rövid leírásban felsoroltuk az ellenőrzött kivételeket.
1. ClassNotFoundException: a ClassNotFoundException egyfajta ellenőrzött kivétel, amelyet akkor dobnak el, amikor nem létező osztályt próbálunk használni.
ellenőrzött kivételek azok a kivételek, amelyeket maga a Java fordító ellenőriz.
2. FileNotFoundException: a FileNotFoundException egy ellenőrzött kivétel, amelyet akkor dobnak el, amikor megpróbálunk hozzáférni egy nem létező fájlhoz.
3., InterruptedException: InterruptedException egy ellenőrzött kivétel, amelyet akkor dobnak el, amikor egy szál alvó vagy várakozási állapotban van, egy másik szál pedig megpróbálja megszakítani.
4. InstantiationException: ez a kivétel egy ellenőrzött kivétel is, amelyet akkor dobnak el, amikor absztrakt osztály vagy felület objektumát próbáljuk létrehozni. Ez azt jelenti, hogy az InstantiationException kivétel akkor fordul elő, amikor egy absztrakt osztály vagy interfész példányosításra kerül.
5., IllegalAccessException: az IllegalAccessException egy ellenőrzött kivétel, amelyet akkor dobnak el, amikor egy módszert más metódusnak vagy osztálynak hívnak, de a hívási metódusnak vagy osztálynak nincs engedélye a módszer eléréséhez.
6. CloneNotSupportedException: ez az ellenőrzött kivétel akkor kerül eldobásra, amikor megpróbálunk klónozni egy objektumot a klónozható felület végrehajtása nélkül.
7. NoSuchFieldException: ez egy ellenőrzött kivétel, amelyet akkor dobnak el, amikor egy ismeretlen változót használnak egy programban.
8., NoSuchMethodException: ez az ellenőrzött kivétel akkor kerül eldobásra, amikor a meghatározatlan módszert egy programban használják.
remélem, hogy ez a bemutató szinte az összes alapvető pontot lefedte a Java kivételhierarchiájához. Remélem, hogy megértették a dobható osztály alapvető pontjait és alosztályait: kivétel és hiba.
Megjegyezendő főbb pontok:
- kétféle kivétel a Java-ban: előre definiált és egyéni kivételek.
- a kivételi osztályok hierarchiájában szereplő összes kivétel gyökérosztálya java.lang.Dobható.,
- Exception classes are mainly divided into three types: system errors, exceptions, and runtime exceptions.
- System errors are represented by Error class and thrown by JVM.
- Exceptions are represented by Exception classes that describe errors in your program.
Thanks for reading!!!
Next ⇒ Checked and Unchecked Exception in Java⇐ PrevNext ⇒