Naposledy Aktualizován dne 29. srpna roku 2020 o Scientech Snadné
V tomto tutoriálu jsme se naučit, vlastní výjimky, hierarchie výjimek v Javě s diagramy a stručný popis.
v předchozím tutoriálu jsme vysvětlili základní body zpracování výjimek v Javě, popisovač výjimek s příklady v reálném čase. Doporučuji nejprve seznámit se základními body.,
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.,
když nastane předdefinovaná výjimka, JVM (Java runtime system) vytvoří objekt předdefinované třídy výjimek. Všechny výjimky jsou odvozeny z Javy.lang.Hodná třída, ale ne všechny třídy výjimek jsou definovány ve stejném balíčku.
všechny předdefinované výjimky podporované java jsou organizovány jako podtřídy v hierarchii pod hodnou třídou.
hodná třída je kořenem hierarchie výjimek a je okamžitou podtřídou třídy objektů. Podívejme se na hierarchii výjimek java, jak je znázorněno na následujícím obrázku.
1., Throwable class: Jak je znázorněno na výše uvedeném obrázku, Throwable třída, která je odvozena od třídy objektů, je vrchol hierarchie výjimek, ze které jsou všechny třídy výjimek odvozeny přímo nebo nepřímo. Je kořenem všech tříd výjimek. Je přítomen v Javě.Lang balíček.
Throwable class je podtřída všech výjimek v Javě. Tato třída má dvě podtřídy: chyba a výjimka. Chyby nebo výjimky vyskytující se v programech java jsou objekty těchto tříd. Pomocí hodné třídy můžete také vytvořit vlastní výjimky.
2., Chyba: Třída chyb je podtřída třídy Throwable a superclass všech tříd chyb runtime. Ukončí program, pokud existuje problém související se systémem nebo zdroji (JVM).
chyba obecně představuje neobvyklý problém nebo situaci, ze které je obtížné obnovit. Nedochází k chybám programátora. Obvykle se vyskytuje, pokud systém nefunguje správně nebo zdroj není správně přidělen.
VirtualMachineError, StackOverFlowError, Asertionerror, LinkageError, OutOfMmeoryError atd., Podrobněji se dozvíme v dalších tutoriálech.
3. Výjimka: je reprezentována třídou výjimek, která představuje chyby způsobené programem a vnějšími faktory. Třída výjimek je podtřída hodné třídy a podtřída všech tříd výjimek. Všechny třídy výjimek jsou odvozeny přímo nebo nepřímo z třídy výjimek. Obvykle pocházejí z aplikace.,
výjimkou třídy nabízí dva konstruktory:
- public Exception() (Výchozí konstruktor)
- public Exception(String message) (To trvá zprávu string jako argument)
Každý z výjimkou třídy nabízí dva konstruktory: bez argumentu a další s Řetězec typ argumentu. Třída výjimek neposkytuje svou vlastní metodu. Zdědí všechny metody poskytované hodnou třídou.,
hierarchie třídy výjimek v Javě
hierarchie třídy výjimek v Javě byla zobrazena na následujícím obrázku, který je pro účely rozhovoru velmi důležitý.
Vlastní Výjimky:
Vlastní výjimky jsou ty výjimky, které jsou vytvořené uživateli nebo programátory, podle svých vlastních potřeb. Vlastní výjimky se také nazývají uživatelem definované výjimky, které jsou vytvořeny rozšířením třídy výjimek.,
takže Java poskytuje programátorům svobodu házet a zpracovávat výjimky při řešení funkčních požadavků problémů, které řeší. Podrobněji budeme diskutovat o vlastních výjimkách v dalších tutoriálech.
podívejme se na stručný popis každé podtřídy třídy výjimek.
Třída RuntimeException (nezaškrtnuté výjimky)
třída RuntimeException je podtřída třídy výjimek. Je hozen JVM nebo programově, když je aritmetická operace provedená v programu nesprávná nebo dojde k chybě / chybě v kódu programu.,
RuntimeException a všechny jeho podtřídy výjimek nejsou kontrolovány kompilátorem Java, protože se vyskytují během běhu programu. Proto se tyto výjimky nazývají také nekontrolované výjimky.
třída RuntimeException se skládá z mnoha dalších podtříd výjimek, které se používají pro zpracování určitého typu výjimky. Na rozdíl od těchto výjimkou podtřídy třídy RuntimeException je znázorněno na obrázku výše, existují i jiné podtřídy třídy RuntimeException, které nebyly zobrazeny v hierarchii struktury diagramu, aby se zabránilo složitosti.,
podívejme se na jejich stručný popis.
1. Aritmeticexception: tato výjimka je hozen, když aritmetické problémy, jako je číslo děleno nulou, došlo. To znamená, že je způsobena matematickou chybou.
2. ClassCastException: ClassCastException je runtime výjimka, která je vyvolána JVM při pokusu o neplatné typecasting v programu. To znamená, že je hozen, když hodíme objekt do podtřídy, jejíž objekt není instancí.
3., IllegalArgumentException: tato výjimka runtime je vyvolána programově, když je předán nezákonný nebo vhodný argument pro volání metody. Tato výjimka třída má další dvě podtřídy:
- NumberFormatException
- IllegalThreadStateException
NumericFormatException: NumberFormatException je vyvolána programově, když se snažíme převést řetězec na číselný typ a proces nelegální převod nezdaří. To znamená, že k němu dochází v důsledku nelegální konverze řetězce na číselný formát.,
IllegalThreadStateException: IllegalThreadStateException výjimkou je runtime výjimka, která je vyvolána programově, kdy se snažíme provádět žádné operace na závit, ale je nekompatibilní s aktuální vlákno státu.
4. IndexOutOfBoundsException: tato třída výjimek je vyvolána JVM, když pole nebo řetězec vychází ze zadaného indexu., 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 je runtime výjimka, která je hozen JVM, když se pokusíme použít null místo objektu. To znamená, že je hozen, když je odkaz nulový.
6. ArrayStoreException: tato výjimka nastane, když se pokusíme uložit libovolnou hodnotu do pole, které není typu pole. Předpokládejme například, že pole je celočíselného typu, ale snažíme se uložit hodnotu prvku jiného typu.
7., IllegalStateException: výjimka IllegalStateException je vyvolána programově, když prostředí runtime není ve vhodném stavu pro volání jakékoli metody.
8. IllegalMonitorStateException: Tato výjimka je vyvolána, pokud vlákno nemá právo sledovat objekt a snaží se přístup wait(), notify () a notifyAll() metod objektu.
9. Negativearraysizeexception: výjimka NegativeArraySizeException je vyvolána, když je pole vytvořeno s negativní velikostí.,
seznam kontrolovaných výjimek v jazyce Java
nyní jsme v stručném popisu uvedli zaškrtnuté výjimky.
1. ClassNotFoundException: ClassNotFoundException je druh kontrolované výjimky, která je hozena, když se pokoušíme použít třídu, která neexistuje.
kontrolované výjimky jsou ty výjimky, které jsou kontrolovány samotným kompilátorem Java.
2. FileNotFoundException: FileNotFoundException je kontrolovaná výjimka, která je vyvolána při pokusu o přístup k neexistujícímu souboru.
3., InterruptedException: InterruptedException je kontrolovaná výjimka, která je hozena, když je vlákno ve stavu spánku nebo čekání a další pokus o přerušení vlákna.
4. InstantiationException: Tato výjimka je také kontrolována výjimka, která je vyvolána, když se snažíme vytvořit objekt abstraktní třídy nebo rozhraní. To znamená, že výjimka InstantiationException nastane, když je instanciated abstraktní třída nebo rozhraní.
5., IllegalAccessException: IllegalAccessException je kontrolována výjimkou je vyvolána, pokud metoda je volána jiná metoda či třída, ale volání metody nebo třídy nemá oprávnění pro přístup k této metodě.
6. CloneNotSupportedException: zkontrolovat výjimkou je vyvolána, když jsme se snaží klonovat objekt bez provedení rozhraní cloneable.
7. NoSuchFieldException: jedná se o zaškrtnutou výjimku, která je vyvolána, když je v programu použita neznámá proměnná.
8., NoSuchMethodException: tato kontrolovaná výjimka je vyvolána, když je v programu použita Nedefinovaná metoda.
doufám, že tento tutoriál pokryl téměř všechny základní body související s hierarchií výjimek v Javě. Doufám, že jste pochopili základní body hodné třídy a jejích podtříd: výjimka a chyba.
Klíčové Body k zapamatování:
- Dva typy výjimek v Javě: Předdefinované a Vlastní výjimky.
- kořenová třída pro všechny výjimky v hierarchii tříd výjimek je java.lang.Hodná.,
- 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 ⇒