logo

Izņēmumu apstrāde Java

  1. Izņēmumu apstrāde
  2. Izņēmumu apstrādes priekšrocības
  3. Izņēmuma klašu hierarhija
  4. Izņēmumu veidi
  5. Izņēmuma piemērs
  6. Scenāriji, kuros var rasties izņēmums

The Izņēmumu apstrāde Java ir viens no spēcīgākajiem mehānisms, lai apstrādātu izpildlaika kļūdas lai varētu uzturēt normālu lietojumprogrammas plūsmu.

Šajā apmācībā mēs uzzināsim par Java izņēmumiem, to veidiem un atšķirību starp atzīmētajiem un neatzīmētajiem izņēmumiem.

Linux kurš

Kas ir izņēmums Java valodā?

Vārdnīcas nozīme: Izņēmums ir neparasts stāvoklis.

Java versijā izņēmums ir notikums, kas traucē normālu programmas plūsmu. Tas ir objekts, kas tiek izmests izpildes laikā.

Kas ir izņēmumu apstrāde?

Izņēmumu apstrāde ir mehānisms, lai apstrādātu izpildlaika kļūdas, piemēram, ClassNotFoundException, IOException, SQLException, RemoteException utt.

Izņēmumu apstrādes priekšrocības

Izņēmumu apstrādes galvenā priekšrocība ir lai uzturētu normālu lietojumprogrammas plūsmu . Izņēmums parasti traucē normālu lietojumprogrammas plūsmu; tāpēc mums jārīkojas ar izņēmumiem. Apskatīsim šādu scenāriju:

 statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10; 

Pieņemsim, ka Java programmā ir 10 priekšraksti un 5. priekšrakstā ir izņēmums; pārējais kods netiks izpildīts, t.i., priekšraksti no 6 līdz 10 netiks izpildīti. Tomēr, veicot izņēmumu apstrādi, tiks izpildīti pārējie paziņojumi. Tāpēc mēs izmantojam izņēmumu apstrādi Java .

Vai Tu zini?
  • Kāda ir atšķirība starp pārbaudītajiem un neatzīmētajiem izņēmumiem?
  • Kas notiek aiz koda int data=50/0;?
  • Kāpēc izmantot vairāku uztveršanas bloku?
  • Vai ir kāda iespēja, kad galīgais bloks netiek izpildīts?
  • Kas ir izņēmuma izplatīšana?
  • Kāda ir atšķirība starp metienu un metienu atslēgvārdu?
  • Kādi ir 4 noteikumi par izņēmumu apstrādi ar metodes ignorēšanu?

Java izņēmuma klašu hierarhija

Klase java.lang.Throwable ir Java izņēmuma hierarhijas saknes klase, ko manto divas apakšklases: Exception un Error. Java izņēmuma klašu hierarhija ir norādīta zemāk:

izņēmumu apstrādes hierarhija

Java izņēmumu veidi

Galvenokārt ir divu veidu izņēmumi: atzīmēti un neatzīmēti. Kļūda tiek uzskatīta par neatzīmētu izņēmumu. Tomēr saskaņā ar Oracle ir trīs veidu izņēmumi, proti:

  1. Pārbaudīts izņēmums
  2. Izņēmums nav atzīmēts
  3. Kļūda
izņēmumu apstrādes hierarhija

Atšķirība starp atzīmētajiem un neatzīmētajiem izņēmumiem

1) Pārbaudīts izņēmums

Klases, kas tieši pārmanto Throwable klasi, izņemot RuntimeException un Error, ir zināmas kā pārbaudītie izņēmumi. Piemēram, IOException, SQLException utt. Pārbaudītie izņēmumi tiek pārbaudīti kompilēšanas laikā.

2) Neatzīmēts izņēmums

Klases, kas manto RuntimeException, ir zināmas kā neatzīmētie izņēmumi. Piemēram, ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException utt. Neatzīmētie izņēmumi netiek pārbaudīti kompilēšanas laikā, bet tie tiek pārbaudīti izpildlaikā.

3) Kļūda

Kļūda ir neatgriezeniska. Daži kļūdu piemēri ir OutOfMemoryError, VirtualMachineError, AssertionError utt.

Java izņēmuma atslēgvārdi

Java nodrošina piecus atslēgvārdus, kas tiek izmantoti, lai apstrādātu izņēmumu. Nākamajā tabulā ir aprakstīts katrs.

AtslēgvārdsApraksts
mēģinātAtslēgvārds “izmēģināt” tiek izmantots, lai norādītu bloku, kurā jāievieto izņēmuma kods. Tas nozīmē, ka mēs nevaram izmantot mēģinājumu bloku atsevišķi. Pēc mēģinājuma bloka ir jāseko vai nu noķert, vai beidzot.
noķert“Nozvejas” bloks tiek izmantots, lai apstrādātu izņēmumu. Pirms tā ir jāievada mēģinājuma bloks, kas nozīmē, ka mēs nevaram izmantot tikai uztveršanas bloku. Tam vēlāk var sekot beidzot bloķēt.
beidzotBloks “beidzot” tiek izmantots, lai izpildītu nepieciešamo programmas kodu. Tas tiek izpildīts neatkarīgi no tā, vai izņēmums tiek apstrādāts vai nē.
mestAtslēgvārdu 'mest' izmanto, lai izmestu izņēmumu.
metieniAtslēgvārdu 'metumi' izmanto, lai deklarētu izņēmumus. Tas norāda, ka metodē var būt izņēmums. Tas nerada izņēmumu. To vienmēr izmanto ar metodes parakstu.

Java izņēmumu apstrādes piemērs

Apskatīsim Java izņēmumu apstrādes piemēru, kurā mēs izmantojam try-catch priekšrakstu, lai apstrādātu izņēmumu.

JavaExceptionExample.java

 public class JavaExceptionExample{ public static void main(String args[]){ try{ //code that may raise exception int data=100/0; }catch(ArithmeticException e){System.out.println(e);} //rest code of the program System.out.println('rest of the code...'); } } 
Izmēģiniet to tūlīt

Izvade:

 Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code... 

Iepriekš minētajā piemērā 100/0 rada aritmētisko izņēmumu, kas tiek apstrādāts, izmantojot try-catch bloku.

Izplatīti Java izņēmumu scenāriji

Ir daži scenāriji, kuros var rasties nepārbaudīti izņēmumi. Tie ir šādi:

1) Scenārijs, kurā notiek aritmētiskais izņēmums

Ja jebkuru skaitli dalām ar nulli, rodas aritmētiskais izņēmums.

 int a=50/0;//ArithmeticException 

2) Scenārijs, kurā notiek NullPointerException

Ja mums ir nulles vērtība jebkurā mainīgs , veicot jebkuru darbību ar mainīgo, tiek parādīts NullPointerException.

 String s=null; System.out.println(s.length());//NullPointerException 

3) Scenārijs, kurā notiek NumberFormatException

Ja kāda mainīgā vai skaitļa formatējums neatbilst, tas var izraisīt NumberFormatException. Pieņemsim, ka mums ir a virkne mainīgais, kurā ir rakstzīmes; pārvēršot šo mainīgo ciparu formātā, radīsies NumberFormatException.

 String s='abc'; int i=Integer.parseInt(s);//NumberFormatException 

4) Scenārijs, kurā notiek ArrayIndexOutOfBoundsException

Ja masīvs pārsniedz tā lielumu, notiek ArrayIndexOutOfBoundsException. var būt arī citi iemesli ArrayIndexOutOfBoundsException. Apsveriet šādus apgalvojumus.

 int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException 

Java izņēmumu indekss

  1. Java Try-Catch Block
  2. Java vairāku nozvejas bloks
  3. Java Nested Try
  4. Java beidzot bloķēt
  5. Java metiena atslēgvārds
  6. Java izņēmuma pavairošana
  7. Java met atslēgvārdu
  8. Java metiens pret metieniem
  9. Java Final vs Beidzot vs Finalize
  10. Java izņēmumu apstrāde ar metodes ignorēšanu
  11. Java pielāgotie izņēmumi