På Java kan flere måter vedtas for å håndtere unntakene, i denne oppskrivningen vil vi diskutere følgende måter å håndtere unntaks:
Alle ovennevnte tilnærminger vil bli diskutert i denne oppskrivningen ved hjelp av noen eksempler. Før vi drar mot disse tilnærmingene først må vi forstå hvorfor det er nødvendig å håndtere unntak i Java.
Hvorfor unntakshåndtering i Java
I tilfelle vi står overfor noen feil, stopper programmet normalt utførelsen, men unntakshåndteringen sikrer at den normale strømmen av programmet ikke skal gå i stykker.
La oss vurdere et scenario for dyp forståelse av unntakshåndtering i Java:
Anta at vi har fem uttalelser i et program og unntaket oppstår ved den tredje uttalelsen, så stopper et normalt program utførelsen på det tidspunktet, og de resterende to uttalelsene ville ikke utføre. Imidlertid, hvis vi bruker unntakshåndtering, ville ikke den normale strømmen bli påvirket.e. Unntak vil bare vises for den berørte uttalelsen, og alle andre uttalelser vil utføre vellykket.
Eksempel
La oss vurdere eksemplet nedenfor som ikke vurderte unntakshåndteringsmekanismen. Nå, hva som vil skje hvis det oppstår en feil?
publicClassexceptionHandlingExampleI dette programmet har vi en rekke heltall, innenfor sløyfen, spesifiserer vi en tilstand.lengde som representerer iterert til den siste oppføringen av matrisen. Og innenfor løkkenes kropp har vi et tall "50", og det vil bli delt på hver verdi av matrisen:
Fra utgangen er det klart at programmet avsluttes når en feil oppstår og det ikke skriver ut de gjenværende verdiene for matrisen.
For å håndtere slike scenarier, bruker Java -programmererne derfor konseptet med unntakshåndtering, slik at hvis en feil oppstår, i stedet for å avslutte hele programmet, bør det bare kaste unntaket for den berørte uttalelsen.
Unntakshåndtering ved hjelp av prøve-fangst
En av de enkleste og enkleste måtene å takle unntak på er Try-fangst uttalelser som kommer opp som et par. Koden som er spesifisert i prøveblokken vil bli testet for unntak/feil, og hvis et unntak skjer, vil den bli fanget i fangstblokken.
Den grunnleggende syntaksen til prøvekampanlegget vil se slik ut:
prøveTry -blokken vil alltid bli fulgt av minst en fangstblokk.
Eksempel
La oss utvide det forrige eksemplet litt mer og legge til prøvekampanleggene for å håndtere unntakene.
publicClassexceptionHandlingExampleDen komplette koden ved siden av sin respektive utgang vises i følgende utdrag:
Denne gangen når det oppstår en feil, viser programmet på det tidspunktet en melding “Et unntak skjer” Og etterpå itererer sløyfen gjennom de gjenværende oppføringene av matrisen.
Unntakshåndtering ved hjelp av Endelig uttalelse
I Java, den endelig Nøkkelord kan brukes med prøvefangst, og det vil alltid utføre uavhengig av om unntakene blir håndtert eller ikke.
Merk: Skriv alltid de viktige utsagnene/koden (som du vil utføre i enhver situasjon) innenfor endelig blokkere.
Eksempel
Kodebiten nedenfor viser hvordan endelig Blokk fungerer i Java:
publicClassexceptionHandlingExampleDen komplette koden og dens respektive utgang vises i følgende skjermbilde:
Som i koden ovenfor, bruker vi det arrayoutofbound unntak, derfor er den ikke i stand til å håndtere et aritmetisk unntak. Fra ovennevnte utdrag er det imidlertid klart at endelig Block utfører uavhengig av konsekvensene (i.e. unntak håndtert eller ikke).
Unntakshåndtering ved hjelp av kast nøkkelord
Kastnøkkelordet kan brukes til å kaste et unntak eksplisitt (i.e. Det lar oss lage et tilpasset unntak). Det kan brukes med hvilken som helst unntakstype som ArrayIndexoutofBoundSexception, Arithmeticexception, og så videre.
Eksempel
I dette eksemplet vil vi ta en verdi på tidspunktet for funksjonsanrop, hvis inngangsverdien er lik 0, vil vi kaste en tilpasset aritmetisk unntak.
publicClassThrowExampleDet komplette kodebiten sammen med utdataene er gitt i følgende utdrag:
Ovennevnte kodebit viser at passering “0” Som inngang resulterer i tilpassede unntak som autentiserer arbeidet med kaste nøkkelord.
Konklusjon
Java gir flere uttalelser for å håndtere unntak/feil i løpet av kjøretid som prøve, fange, til slutt, kaste. Try-fangst Uttalelser kommer opp som et par, Try -blokken tester koden for unntak/feil hvis et unntak oppstår, vil den bli fanget i fangstblokken. De endelig Nøkkelord kan brukes med prøvefangst, og det vil alltid utføre uavhengig av om unntakene håndteres eller ikke mens kaste Nøkkelord brukes til å kaste et unntak eksplisitt. Denne oppskrivningen gir en detaljert forståelse av hvordan du skal takle unntak i Java.