Sist Oppdatert 29. August, 2020 ved Scientech Lett
I denne opplæringen vil vi lære unntak hierarkiet i Java med diagrammer og korte beskrivelser.
I den forrige tutorial, vi har forklart grunnleggende poeng av unntak håndtering i Java, unntak handler med realtime eksempler. Jeg vil anbefale at du først gjøre det grunnleggende poeng.,
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 forhåndsdefinert unntak oppstår, JVM (Java runtime system) oppretter et objekt av forhåndsdefinerte unntak klasse. Alle unntak er avledet fra java.lang.Throwable klasse, men ikke alle unntak klassene er definert i samme pakke.
Alle de forhåndsdefinerte unntak støttes av java er organisert som underklasser i et hierarki under Throwable klasse.
Throwable klasse er roten til unntak hierarkiet, og er en umiddelbar underklassen av Objektet klasse. La oss ta en titt på java unntak hierarki, som vist i figur nedenfor.
1., Throwable klasse: Som vist i figuren over, Throwable klasse som er avledet fra Object-klassen er en topp unntak av hierarkiet som alle unntak klasser er avledet direkte eller indirekte. Det er roten til alle unntak klasser. Det er tilstede i java.lang pakken.
Throwable klasse er superclass av alle unntak i java. Denne klassen har to underklasser: Feil og Unntak. Feil eller unntak forekommer i java-programmer er objekter av disse klassene. Ved hjelp av Throwable klasse, kan du også opprette din egen egendefinerte unntak.
2., Feil: feil klasse er underklassen av Throwable klasse og en superclass av alle runtime feil klasser. Det avsluttes programmet hvis det er problem knyttet til et system eller ressurser (JVM).
En feil generelt representerer et uvanlig problem eller en situasjon som det er vanskelig å gjenopprette. Det oppstår ikke ved programmerer feil. Det vanligvis skjer hvis systemet ikke fungerer på riktig måte eller ressurs er ikke satt inn riktig.
VirtualMachineError, StackOverFlowError, AssertionError, LinkageError, OutOfMmeoryError, etc er eksempler på feil., Vi vil lære mer detalj i videre opplæring.
3. Unntak: Det er representert ved et Unntak klasse som representerer feil forårsaket av programmet og av eksterne faktorer. Unntak klasse er en underklassen av Throwable klasse og en superclass av alle unntak klasser. Alle unntak klasser er avledet direkte eller indirekte fra Unntak klasse. De generelt stammer fra programmet.,
unntak klasse har to konstruktører:
- offentlige Unntak() (Standard konstruktør)
- offentlige Unntak(String melding) (Det tar en melding string som argument)
Hver av de unntak klasser har to konstruktører: en med ingen argument og en annen med en Streng type argument. Unntak klasse gir ikke sin egen metode. Det arver alle metoder gitt av Throwable klasse.,
Unntak Klasse Hierarkiet i Java
hierarki av unntak klasse i Java har blitt vist i figur nedenfor som er svært viktig for et intervju hensikt.
Custom Unntak:
Tilpasset unntak er de unntak som er opprettet av brukere eller programmerere i henhold til sine egne behov. Den tilpassede unntak er også kalles brukerdefinerte unntak som er opprettet ved å utvide unntaket klasse.,
Så, Java gir frihet til å programmerere til å kaste og håndtere unntak mens du arbeider med funksjonelle krav til problemer de skal løse. Vi vil diskutere i mer detalj om tilpasset unntak i videre opplæring.
La oss se kort beskrivelse av hver underklassen av Unntaket klasse.
RuntimeException klasse (Ukontrollert Unntak)
RuntimeException klasse er en underklassen av Unntaket klasse. Det er kastet av JVM eller programmatisk når et aritmetisk operasjon utført i programmet er feil eller mangel/feil oppstår i programmet kode.,
RuntimeException og alle dens unntak underklasser er ikke sjekket av Java-kompilatoren fordi de oppstår under kjøring av et program. Det er derfor disse unntakene er også kalt ukontrollert unntak.
RuntimeException klasse består av mange andre unntak underklasser som brukes til å håndtere en bestemt type unntak. Bortsett fra disse unntak underklasser av RuntimeException klasse vist i figuren over, er det også andre underklasser av RuntimeException klasse som ikke har vært vist i hierarkiet struktur diagram for å unngå kompleksiteten.,
La oss se en kort beskrivelse av dem.
1. ArithmeticException: Dette unntaket kastes når aritmetiske problemer, for eksempel et nummer som er delt på null, er oppstått. Det vil si at det er forårsaket av matematikk feil.
2. ClassCastException: Den ClassCastException er en runtime unntak som er kastet av JVM når vi forsøker å ugyldig typecasting i programmet. Det vil si at det er kastet når vi kaster et objekt på en underklassen som et objekt, ikke et eksempel.
3., IllegalArgumentException: Dette runtime unntak blir kastet av programmatisk når en ulovlig eller hensiktsmessig argumentet er gått over til å kalle en metode. Dette unntaket klasse har ytterligere to underklasser:
- NumberFormatException
- IllegalThreadStateException
NumericFormatException: NumberFormatException er kastet av programmatisk når vi prøver å konvertere en streng til numerisk type, og prosessen med ulovlig konverteringen mislykkes. Det vil si at det oppstår på grunn av ulovlig konvertering av en streng til en numerisk format.,
IllegalThreadStateException: IllegalThreadStateException unntak er en runtime unntak som er kastet av programmatisk når vi forsøker å utføre en operasjon på en tråd, men det er uforenlig med den aktuelle tråden staten.
4. IndexOutOfBoundsException: Dette unntaket klasse er kastet av JVM når en matrise eller en streng kommer ut av den angitte indeksen., 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 unntak som er kastet av JVM når vi forsøker å bruke null i stedet for et objekt. Det vil si at det er kastet når referansen er null.
6. ArrayStoreException: Denne unntak oppstår når vi forsøker å lagre en verdi i en tabell som ikke er av matrise. For eksempel, la oss anta at en matrise er av type heltall, men vi prøver å lagre en verdi til et element av en annen type.
7., IllegalStateException: Den IllegalStateException unntak blir kastet av programmatisk når runtime environment er ikke i en passende staten for å ringe noen metode.
8. IllegalMonitorStateException: Dette unntaket kastes når en tråd har ikke rett til å overvåke et objekt og prøver å få tilgang wait(), notify(), og notifyAll () – metoder i objektet.
9. NegativeArraySizeException: Den NegativeArraySizeException unntak blir kastet når en tabell er laget med en negativ størrelse.,
Liste over Sjekket Unntak i Java
Nå, vi har listet opp sjekket unntak i en kort beskrivelse.
1. ClassNotFoundException: Den ClassNotFoundException er en form for kontrollert unntak som er kastet når vi forsøker å bruke en klasse som ikke eksisterer.
Merket unntak er de unntak som er kontrollert av Java-kompilatoren selv.
2. FileNotFoundException: Den FileNotFoundException er en kontrollert unntak som er kastet når vi forsøker å få tilgang til en ikke-eksisterende fil.
3., InterruptedException: InterruptedException er en kontrollert unntak som er kastet når en tråd er i sove-eller venter og en annen tråd forsøk på å avbryte den.
4. InstantiationException: Dette unntaket er også en kontrollert unntak som er kastet når vi prøver å lage et objekt av en abstrakt klasse eller grensesnitt. Det er, InstantiationException unntak oppstår når en abstrakt klasse eller grensesnittet er instansiert.
5., IllegalAccessException: Den IllegalAccessException er en kontrollert unntak, og det er kastet når en metode kalles i en annen metode eller klasse, men den kaller metoden eller klasse ikke har tillatelse til å få tilgang til denne metoden.
6. CloneNotSupportedException: Dette sjekket unntak blir kastet når vi prøver å klone et objekt uten å implementere cloneable grensesnitt.
7. NoSuchFieldException: Dette er en kontrollert unntak som er kastet når en ukjent variabel brukes i et program.
8., NoSuchMethodException: Dette sjekket unntak blir kastet når det udefinerte metoden brukes i et program.
Håper at denne opplæringen har dekket nesten alle de grunnleggende punktene knyttet til unntak hierarkiet i java. Jeg håper at du har forstått de grunnleggende poeng av Throwable klassen og dens underklasser: Unntak og Feil.
Viktige Punkter å Huske:
- To typer unntak i Java: Forhåndsdefinerte og Egendefinerte unntak.
- roten klasse for alle unntakene i hierarkiet av unntak klasser er java.lang.Throwable.,
- 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 ⇒