Actualizat pe 29 August, în 2020, prin Scientech Ușor
În acest tutorial, vom învăța excepție ierarhie în Java cu diagrame și descrieri scurte.
în tutorialul anterior, am explicat puncte de bază de manipulare excepție în Java, handler excepție cu exemple în timp real. Vă recomand să familiarizați mai întâi punctele de bază.,
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.,
când apare o excepție predefinită, JVM (Java runtime system) creează un obiect de clasă excepție predefinită. Toate excepțiile sunt derivate din java.lang.Clasa Throwable, dar nu toate clasele de excepție sunt definite în același pachet.
toate excepțiile predefinite acceptate de java sunt organizate ca subclase într-o ierarhie sub clasa Throwable.
clasa Throwable este rădăcina ierarhiei excepție și este o subclasă imediată a clasei obiect. Să aruncăm o privire la ierarhia excepțiilor java, așa cum se arată în figura de mai jos.
1., Clasa Throwable: așa cum se arată în figura de mai sus, clasa Throwable care este derivată din clasa Object, este un top al ierarhiei de excepție din care toate clasele de excepție sunt derivate direct sau indirect. Este rădăcina tuturor claselor de excepție. Este prezent în java.pachetul lang.
clasa Throwable este superclasa tuturor excepțiilor din java. Această clasă are două subclase: eroare și excepție. Erorile sau excepțiile care apar în programele java sunt obiecte ale acestor clase. Folosind clasa Throwable, puteți crea, de asemenea, propriile excepții personalizate.
2., Eroare: clasa de eroare este subclasa clasei Throwable și o superclasă a tuturor claselor de eroare de rulare. Se termină programul dacă există probleme legate de un sistem sau resurse (JVM).
o eroare reprezintă, în general, o problemă sau o situație neobișnuită din care este dificil de recuperat. Nu se întâmplă prin greșeli de programator. În general, apare dacă sistemul nu funcționează corect sau dacă resursa nu este alocată corect.
VirtualMachineError, StackOverFlowError, AssertionError, LinkageError, OutOfMmeoryError, etc sunt exemple de eroare., Vom afla mai multe detalii în tutoriale suplimentare.
3. Excepție: este reprezentată de o clasă de excepție care reprezintă erori cauzate de program și de factori externi. Clasa de excepție este o subclasă de clasă Throwable și o superclasă a tuturor claselor de excepție. Toate clasele de excepție sunt derivate direct sau indirect din clasa de excepție. În general, acestea provin din cadrul aplicației.,
excepție de clasă prevede doi constructori:
- public Excepția() (constructorul Implicit)
- public Excepție(String mesaj) (Este nevoie de un șir de mesaje ca argument)
Fiecare dintre excepție clase prevede doi constructori: unul cu nici un argument și un altul cu un argument de tip String. Clasa de excepție nu oferă propria metodă. Ea moștenește toate metodele furnizate de clasa Throwable.,
ierarhia clasei de excepție în Java
ierarhia clasei de excepție în Java a fost prezentată în figura de mai jos, care este foarte importantă pentru un scop de interviu.
Personalizat Excepții:
Personalizat excepții sunt acele excepții care sunt create de către utilizatori, programatori sau în funcție de propriile nevoi. Excepțiile personalizate sunt, de asemenea, numite excepții definite de utilizator care sunt create prin extinderea clasei de excepții.,deci, Java oferă programatorilor libertatea de a arunca și gestiona excepții în timp ce se ocupă de cerințele funcționale ale problemelor pe care le rezolvă. Vom discuta mai detaliat despre excepțiile personalizate în tutoriale suplimentare.
Să vedem scurta descriere a fiecărei subclase a clasei de excepție.
clasa RuntimeException (excepții necontrolate)
clasa RuntimeException este o subclasă a clasei excepție. Acesta este aruncat de JVM sau programatic atunci când o operație aritmetică efectuată în program este incorectă sau defect/bug apare în codul programului.,
RuntimeException și toate subclasele sale de excepție nu sunt verificate de compilatorul Java, deoarece apar în timpul rulării unui program. De aceea, aceste excepții sunt numite și excepții necontrolate.
clasa RuntimeException este format din multe alte subclase de excepție, care sunt utilizate pentru a gestiona un anumit tip de excepție. În afară de aceste subclase de excepție ale clasei RuntimeException prezentate în figura de mai sus, există și alte subclase ale clasei RuntimeException care nu a fost prezentată în diagrama structurii ierarhice pentru a evita complexitatea.,să vedem o scurtă descriere a acestora.
1. ArithmeticException: această excepție este aruncat atunci când probleme aritmetice, cum ar fi un număr este împărțit la zero, este a avut loc. Adică este cauzată de eroarea matematică.
2. ClassCastException: ClassCastException este o excepție runtime, care este aruncat de JVM atunci când încercăm să typecasting invalid în program. Adică este aruncat atunci când aruncăm un obiect într-o subclasă din care un obiect nu este o instanță.
3., IllegalArgumentException: această excepție runtime este aruncat de programatic atunci când un argument ilegal sau adecvat este trecut pentru a apela o metodă. Această excepție de clasă are în continuare două subclase:
- NumberFormatException
- IllegalThreadStateException
NumericFormatException: NumberFormatException este aruncat de către programatic atunci când vom încerca pentru a converti un șir de caractere într-numerice de tip și procesul de conversie ilegale eșuează. Adică apare din cauza conversiei ilegale a unui șir într-un format numeric.,
IllegalThreadStateException: IllegalThreadStateException excepție este o execuție de excepție, care este aruncat prin programatic atunci când vom încerca să efectueze orice operațiune pe un fir, dar este incompatibilă cu fir de curent stat.
4. IndexOutOfBoundsException: această clasă de excepție este aruncată de JVM atunci când o matrice sau un șir iese din indexul specificat., 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 este o excepție runtime care este aruncată de JVM atunci când încercăm să folosim null în loc de un obiect. Adică este aruncat atunci când referința este nulă.
6. ArrayStoreException: această excepție apare atunci când încercăm să stocăm orice valoare într-o matrice care nu este de tip array. De exemplu, să presupunem că o matrice este de tip întreg, dar încercăm să stocăm o valoare a unui element de alt tip.
7., IllegalStateException: excepția IllegalStateException este aruncată de programatic atunci când mediul de rulare nu este într-o stare adecvată pentru apelarea oricărei metode.
8. IllegalMonitorStateException: Această excepție este aruncat atunci când un fir nu are dreptul de a monitoriza un obiect și încearcă să acceseze wait(), notify () si notifyAll() metode de obiect.
9. NegativeArraySizeException: excepția NegativeArraySizeException este aruncat atunci când un tablou este creat cu o dimensiune negativă.,
lista excepțiilor verificate în Java
acum, am enumerat excepțiile verificate într-o scurtă descriere.
1. ClassNotFoundException: ClassNotFoundException este un fel de excepție verificată care este aruncată atunci când încercăm să folosim o clasă care nu există.
excepțiile verificate sunt acele excepții care sunt verificate chiar de compilatorul Java.
2. FileNotFoundException: FileNotFoundException este o excepție verificată care este aruncată atunci când încercăm să accesăm un fișier inexistent.
3., InterruptedException: InterruptedException e un verificate excepție, care este aruncat atunci când un fir este în somn sau în stare de așteptare și un alt fir încerca să-l întrerupă.
4. InstantiationException: această excepție este, de asemenea, o excepție verificată care este aruncată atunci când încercăm să creăm un obiect de clasă abstractă sau interfață. Adică, excepția InstantiationException apare atunci când o clasă abstractă sau o interfață este instanțiată.
5., IllegalAccessException: La IllegalAccessException este verificat excepție și este aruncat atunci când o metodă este numit într-o altă metodă sau clasa dar de asteptare metoda sau clasa nu aveți permisiunea de a accesa această metodă.
6. CloneNotSupportedException: această excepție verificată este aruncată atunci când încercăm să clonăm un obiect fără a implementa interfața cloneable.
7. NoSuchFieldException: aceasta este o excepție verificată care este aruncată atunci când o variabilă necunoscută este utilizată într-un program.
8., NoSuchMethodException: această excepție verificată este aruncată atunci când metoda nedefinită este utilizată într-un program.Sper că acest tutorial a acoperit aproape toate punctele de bază legate de ierarhia excepțiilor din java. Sper că veți fi înțeles punctele de bază ale clasei Throwable și ale subclaselor sale: excepție și eroare.
puncte cheie de reținut:
- două tipuri de excepții în Java: excepții predefinite și personalizate.
- clasa rădăcină pentru toate excepțiile din ierarhia claselor de excepție este java.lang.Aruncabil.,
- 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 ⇒