Sidst Opdateret den August 29, 2020 ved Scientech Let
I denne tutorial, vil vi lære undtagelse hierarki i Java med diagrammer og korte beskrivelser.
i den forrige tutorial har vi forklaret grundlæggende punkter for undtagelseshåndtering i Java, undtagelseshåndterer med realtime-eksempler. Jeg vil anbefale, at du først gør dig bekendt med de grundlæggende punkter.,
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.,
Når en foruddefineret undtagelse opstår, opretter JVM (Java runtime system) et objekt af foruddefineret undtagelsesklasse. Alle undtagelser er afledt af java.lang.Kastbar klasse, men ikke alle undtagelsesklasser er defineret i den samme pakke.
alle de foruddefinerede undtagelser, der understøttes af java, er organiseret som underklasser i et hierarki under klassen thro .able.
den Kastbare klasse er roden til undtagelseshierarkiet og er en øjeblikkelig underklasse af objektklasse. Lad os tage et kig på java-undtagelseshierarkiet, som vist i nedenstående figur.
1., Throwable klasse: Som det fremgår af ovenstående figur, Throwable klasse som er afledt fra Objekt klassen, er en top undtagelse af hierarkiet, hvorfra alle undtagelse klasser er afledt direkte eller indirekte. Det er roden til alle undtagelsesklasser. Det er til stede i java.lang pakke.
thro .able class er superklassen for alle undtagelser i java. Denne klasse har to underklasser: fejl og undtagelse. Fejl eller undtagelser, der forekommer i java-programmer, er objekter af disse klasser. Ved hjælp af thro .able class kan du også oprette dine egne brugerdefinerede undtagelser.
2., Fejl: Fejl klasse er underklasse af thro .able klasse og en superklasse af alle runtime fejl klasser. Det afslutter programmet, hvis der er problem-relateret til et system eller ressourcer (JVM).
en fejl repræsenterer generelt et usædvanligt problem eller en situation, hvorfra det er vanskeligt at gendanne. Det sker ikke ved programmør fejl. Det sker generelt, hvis systemet ikke fungerer korrekt, eller ressourcen ikke tildeles korrekt.
VirtualMachineError, StackOverFlowError, AssertionError, LinkageError, OutOfMmeoryError, osv. er eksempler på fejl., Vi vil lære mere detaljeret i yderligere tutorials.
3. Undtagelse: det er repræsenteret af en Undtagelsesklasse, der repræsenterer fejl forårsaget af programmet og af eksterne faktorer. Undtagelsesklasse er en underklasse af Kastbar klasse og en superklasse af alle undtagelsesklasser. Alle undtagelsesklasser stammer direkte eller indirekte fra Undtagelsesklassen. De stammer generelt fra ansøgningen.,
bortset klassen indeholder to konstruktører:
- offentlige Undtagelse() (Default constructor)
- offentlige Undtagelse(String besked) (Det tager en besked streng som argument)
Hver af de undtagelse klasser giver to konstruktører: en med noget argument, og en anden med en Streng type argument. Undtagelsesklasse giver ikke sin egen metode. Det arver alle metoder, der leveres af Kastbar klasse.,
Undtagelse Klasse Hierarki i Java
hierarkiet undtagelse af klasse i Java har været vist i nedenstående figur, der er meget vigtigt for et interview formål.
Brugerdefineret Undtagelser:
Brugerdefineret undtagelser er de undtagelser, der er oprettet af brugere eller programmører i henhold til deres egne behov. De brugerdefinerede undtagelser kaldes også brugerdefinerede undtagelser, der oprettes ved at udvide undtagelsesklassen.,
så Java giver programmører frihed til at kaste og håndtere undtagelser, mens de beskæftiger sig med funktionelle krav til problemer, de løser. Vi vil diskutere mere detaljeret om brugerdefinerede undtagelser i yderligere tutorials.
lad os se den korte beskrivelse af hver underklasse i Undtagelsesklassen.
Runtimee .ception class (ikke-markerede undtagelser)
Runtimee .ception class er en underklasse af Undtagelsesklassen. Det kastes af JVM eller programmatisk, når en aritmetisk operation, der udføres i programmet, er forkert eller defekt/fejl forekommer i programmets kode.,
RuntimeException og alle dens undtagelse underklasser er ikke kontrolleret af Java compiler, fordi de opstår under kørslen af et program. Derfor kaldes disse undtagelser også ukontrollerede undtagelser.
RuntimeException klasse består af mange andre undtagelse underklasser, der anvendes til at håndtere en bestemt type undtagelse. Bortset fra disse undtagelse underklasser af RuntimeException klasse, der er vist i ovenstående figur, er der også andre underklasser af RuntimeException klasse, som ikke har været vist i den hierarkiske struktur diagram for at undgå kompleksitet.,
lad os se en kort beskrivelse af dem.
1. Arithmetice .ception: denne undtagelse er kastet, når aritmetiske problemer, såsom et tal er divideret med nul, er opstået. Det vil sige, det er forårsaget af matematik fejl.
2. ClassCastException: Den ClassCastException er en runtime exception, der er kastet af JVM, når vi forsøger at ugyldig typecasting i programmet. Det vil sige, det kastes, når vi kaster et objekt til en underklasse, hvoraf et objekt ikke er et eksempel.
3., Illegalargumente .ception: denne runtime undtagelse er kastet af programmatisk når en ulovlig eller passende argument er bestået for at kalde en metode. Denne undtagelse klasse har yderligere to underklasser:
- NumberFormatException
- IllegalThreadStateException
NumericFormatException: NumberFormatException er smidt af ved hjælp af programmering, når vi forsøger at konvertere en streng til den numeriske typer, og processen for ulovlig konvertering fejler. Det vil sige, det sker på grund af ulovlig konvertering af en streng til et numerisk format.,
IllegalThreadStateException: IllegalThreadStateException undtagelse er en runtime exception, der er smidt af ved hjælp af programmering, når vi forsøger at udføre enhver operation på en tråd, men den er uforenelig med den aktuelle tråd tilstand.
4. Inde .outofboundse .ception: denne undtagelsesklasse kastes af JVM, når en Matri.eller streng går ud af det specificerede indeks., 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 er en runtime exception, der er kastet af JVM, når vi forsøger at bruge null i stedet for et objekt. Det vil sige, det kastes, når referencen er null.
6. Arraystoree .ception: denne undtagelse opstår, når vi forsøger at gemme en værdi i et array, som ikke er af array type. Antag for eksempel, at et array er af heltalstype, men vi forsøger at gemme en værdi af et element af en anden type.
7., Illegalstatee .ception: undtagelsen Illegalstatee .ception kastes af programmatisk, når runtime-miljøet ikke er i en passende tilstand til at kalde nogen metode.
8. Illegalmonitorstatee .ception: denne undtagelse kastes, når en tråd ikke har ret til at overvåge et objekt og forsøger at få adgang til Vent (), notify () og notifyAll() metoder til objektet.
9. NegativeArraySizeException: Den NegativeArraySizeException undtagelse er kastet, når et array er skabt med en negativ størrelse.,
liste over kontrollerede undtagelser i Java
nu har vi listet kontrollerede undtagelser i en kort beskrivelse.
1. ClassNotFoundException: Den ClassNotFoundException er en slags kontrolleret undtagelse, at der er kastet, når vi forsøger at bruge en klasse, der ikke eksisterer.
kontrollerede undtagelser er de undtagelser, der kontrolleres af Java-kompilatoren selv.
2. Filenotfounde .ception: Filenotfounde .ception er en kontrolleret undtagelse, der kastes, når vi forsøger at få adgang til en ikke-eksisterende fil.
3., Interruptede .ception: Interruptede .ception er en kontrolleret undtagelse, der kastes, når en tråd er i sovende eller ventende tilstand, og en anden tråd forsøger at afbryde den.
4. Instantiatione .ception: denne undtagelse er også en kontrolleret undtagelse, der kastes, når vi forsøger at oprette et objekt af abstrakt klasse eller grænseflade. Det vil sige Instantieringundtagelse undtagelse opstår, når en abstrakt klasse eller grænseflade er instantieret.
5., IllegalAccessException: Den IllegalAccessException er en valgt undtagelse og det er kastet, når en metode kaldes, er i en anden metode eller klasse, men den kaldende metode eller klasse ikke har tilladelse til at få adgang til denne metode.
6. Clonenotsupportede .ception: denne kontrollerede undtagelse kastes, når vi forsøger at klone et objekt uden at implementere den klonbare grænseflade.
7. Nosuchfielde .ception: dette er en kontrolleret undtagelse, der kastes, når en ukendt variabel bruges i et program.
8., Nosuchmethode .ception: denne kontrollerede undtagelse kastes, når den udefinerede metode bruges i et program.
håber, at denne tutorial har dækket næsten alle de grundlæggende punkter relateret til undtagelseshierarkiet i java. Jeg håber, at du vil have forstået de grundlæggende punkter i thro .able klasse og dens underklasser: undtagelse og fejl.
nøglepunkter, der skal huskes:
- to typer undtagelser i Java: foruddefinerede og brugerdefinerede undtagelser.
- rodklassen for alle undtagelser i hierarkiet af undtagelsesklasser er java.lang.Thro .able.,
- 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 ⇒