laatst bijgewerkt op 29 augustus 2020 door Scientech Easy
In deze tutorial zullen we de Exception hierarchy in Java leren met diagrammen en korte beschrijvingen.
in de vorige tutorial hebben we de basispunten van exception handling in Java uitgelegd, exception handler met realtime voorbeelden. Ik zal u adviseren eerst vertrouwd te raken met de fundamentele punten.,
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.,
wanneer een vooraf gedefinieerde uitzondering optreedt, maakt JVM (Java runtime system) Een object met een vooraf gedefinieerde uitzonderingsklasse. Alle uitzonderingen zijn afgeleid van java.lang.Throwable class maar niet alle uitzondering klassen zijn gedefinieerd in hetzelfde pakket.
alle vooraf gedefinieerde uitzonderingen die door java worden ondersteund, zijn georganiseerd als subklassen in een hiërarchie onder de Werpbare klasse.
De Werpbare klasse is de wortel van de hiërarchie van uitzonderingen en is een directe subklasse van de objectklasse. Laten we eens kijken naar de java uitzondering hiërarchie, zoals weergegeven in de onderstaande figuur.
1., Werpbare klasse: zoals getoond in de bovenstaande figuur, Werpbare klasse die is afgeleid van Object klasse, is een top van uitzondering hiërarchie waaruit alle uitzondering klassen zijn afgeleid direct of indirect. Het is de wortel van alle uitzonderingsklassen. Het is aanwezig in java.lang pakket.
Throwable class is de superklasse van alle uitzonderingen in java. Deze klasse heeft twee subklassen: Error en Exception. Fouten of uitzonderingen die voorkomen in java-programma ‘ s zijn objecten van deze klassen. Met behulp van Throwable class, kunt u ook uw eigen aangepaste uitzonderingen maken.
2., Fout: fout klasse is de subklasse van Throwable klasse en een superklasse van alle runtime fout klassen. Het beëindigt het programma als er een probleem is met betrekking tot een systeem of bronnen (JVM).
een fout vertegenwoordigt over het algemeen een ongewoon probleem of situatie waarvan het moeilijk te herstellen is. Het gebeurt niet door programmeerfouten. Het gebeurt over het algemeen als het systeem niet goed werkt of resource niet goed is toegewezen.
VirtualMachineError, StackOverFlowError, AssertionError, LinkageError, OutOfMmeoryError, etc zijn voorbeelden van fouten., We zullen meer details leren in verdere tutorials.
3. Uitzondering: het wordt vertegenwoordigd door een uitzondering klasse die fouten veroorzaakt door het programma en door externe factoren vertegenwoordigt. Exception class is een subklasse van Throwable class en een superklasse van alle exception class. Alle uitzonderingsklassen zijn direct of indirect afgeleid van de Uitzonderingsklasse. Ze komen meestal uit de applicatie.,
De exception class biedt twee constructors:
- public Exception() (Default constructor)
- public Exception(String message) (het neemt een message string als argument)
elk van de exception classes biedt twee constructors: een zonder argument en een ander met een Stringtype argument. Exception class biedt geen eigen methode. Het erft alle methoden die door Throwable klasse.,
Exception Class Hierarchy in Java
de hiërarchie van exception class in Java is weergegeven in de onderstaande figuur die erg belangrijk is voor een interview doel.
aangepaste uitzonderingen:
aangepaste uitzonderingen zijn uitzonderingen die door gebruikers of programmeurs worden gemaakt volgens hun eigen behoeften. De aangepaste uitzonderingen worden ook door de gebruiker gedefinieerde uitzonderingen genoemd die worden gemaakt door de exception class uit te breiden.,
dus, Java biedt programmeurs de vrijheid om uitzonderingen te gooien en te behandelen terwijl ze omgaan met functionele vereisten van problemen die ze oplossen. We zullen meer in detail bespreken over aangepaste uitzonderingen in verdere tutorials.
laten we eens kijken naar de korte beschrijving van elke subklasse van de Exception class.
RuntimeException class (niet-aangevinkte uitzonderingen)
RuntimeException class is een subklasse van de Exception class. Het wordt gegooid door JVM of programmatisch wanneer een rekenkundige operatie uitgevoerd in het programma onjuist is of defect/bug optreedt in de code van het programma.,
RuntimeException en alle exception subklassen worden niet gecontroleerd door Java compiler omdat ze optreden tijdens de runtime van een programma. Daarom worden deze uitzonderingen ook wel ongecontroleerde uitzonderingen genoemd.
RuntimeException class bestaat uit vele andere exception subklassen die worden gebruikt om een specifiek type uitzondering af te handelen. Afgezien van deze uitzondering subklassen van RuntimeException klasse weergegeven in de bovenstaande figuur, zijn er ook andere subklassen van RuntimeException klasse die niet is weergegeven in de hiërarchie structuur diagram om complexiteit te voorkomen.,
laten we een korte beschrijving van hen bekijken.
1. Rekenkundige uitzondering: deze uitzondering wordt gemaakt wanneer rekenkundige problemen, zoals een getal wordt gedeeld door nul, zich voordoen. Dat wil zeggen, het wordt veroorzaakt door rekenfout.
2. ClassCastException: de ClassCastException is een runtime uitzondering die wordt gegooid door JVM wanneer we proberen om ongeldige typecasting in het programma. Dat wil zeggen, het wordt gegooid wanneer we een object werpen naar een subklasse waarvan een object geen instantie is.
3., IllegalArgumentException: deze runtime uitzondering wordt programmatisch gegooid wanneer een illegaal of passend argument wordt doorgegeven om een methode aan te roepen. Deze exception class heeft nog twee subklassen:
- NumberFormatException
- IllegalThreadStateException
NumericFormatException: NumberFormatException wordt programmatisch gegooid wanneer we een string proberen om te zetten in het numerieke type en het proces van illegale conversie mislukt. Dat wil zeggen, het gebeurt als gevolg van de illegale conversie van een string naar een numeriek formaat.,
IllegalThreadStateException: IllegalThreadStateException is een runtime-uitzondering die programmatisch wordt weergegeven wanneer we een bewerking op een thread proberen uit te voeren, maar die niet compatibel is met de huidige threadstatus.
4. IndexOutOfBoundsException: deze uitzondering klasse wordt gegooid door JVM wanneer een array of string gaat uit de opgegeven index., 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 is een runtime uitzondering die wordt gegooid door JVM wanneer we proberen om null te gebruiken in plaats van een object. Dat wil zeggen, het wordt gegooid wanneer de referentie nul is.
6. ArrayStoreException: deze uitzondering treedt op wanneer we proberen een waarde op te slaan in een array die niet van het array-type is. Stel bijvoorbeeld dat een array van het integer type is, maar we proberen een waarde van een element van een ander type op te slaan.
7., IllegalStateException: de IllegalStateException exception wordt programmatisch gegooid wanneer de runtime-omgeving niet in een geschikte staat is om een methode aan te roepen.
8. IllegalMonitorStateException: deze uitzondering wordt gegooid wanneer een thread niet het recht heeft om een object te controleren en probeert toegang te krijgen tot wait(), notify(), en notifyAll() methoden van het object.
9. NegativeArraySizeException: de NegativeArraySizeException uitzondering wordt gegooid wanneer een array wordt gemaakt met een negatieve grootte.,
lijst van gecontroleerde uitzonderingen in Java
nu hebben we gecontroleerde uitzonderingen in een korte beschrijving weergegeven.
1. ClassNotFoundException: de ClassNotFoundException is een soort gecontroleerde uitzondering die wordt gegooid wanneer we proberen een klasse te gebruiken die niet bestaat.
gecontroleerde uitzonderingen zijn de uitzonderingen die door de Java-compiler zelf worden gecontroleerd.
2. FileNotFoundException: de FileNotFoundException is een gecontroleerde uitzondering die wordt gegooid wanneer we proberen om toegang te krijgen tot een niet-bestaand bestand.
3., Interrupedexception: Interrupedexception is een gecontroleerde uitzondering die wordt gegooid wanneer een thread in slapende of wachtende staat is en een andere thread probeert deze te onderbreken.
4. InstantiationException: deze uitzondering is ook een gecontroleerde uitzondering die wordt gegooid wanneer we proberen om een object van abstracte klasse of interface te maken. Dat wil zeggen, InstantiationException exception exception treedt op wanneer een abstracte klasse of interface is instantiated.
5., IllegalAccessException: de IllegalAccessException is een gecontroleerde uitzondering en wordt gegooid wanneer een methode wordt aangeroepen in een andere methode of klasse, maar de aanroepende methode of klasse heeft geen rechten om toegang te krijgen tot die methode.
6. CloneNotSupportedException: deze aangevinkte uitzondering wordt gegooid wanneer we een object proberen te klonen zonder de cloneable interface te implementeren.
7. NoSuchFieldException: dit is een gecontroleerde uitzondering die wordt gegooid wanneer een onbekende variabele wordt gebruikt in een programma.
8., Nosuchmethodexceptie: deze aangevinkte uitzondering wordt gegooid wanneer de ongedefinieerde methode wordt gebruikt in een programma.
hoop dat deze tutorial bijna alle basispunten met betrekking tot de uitzondering hiërarchie in java heeft behandeld. Ik hoop dat u de basispunten van de Werpbare klasse en zijn subklassen hebt begrepen: uitzondering en fout.
belangrijke punten om te onthouden:
- twee soorten uitzonderingen in Java: vooraf gedefinieerde en aangepaste uitzonderingen.
- de root class voor alle uitzonderingen in de hiërarchie van uitzonderingsklassen is java.lang.Werpbaar.,
- 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 ⇒