logo

Gestionarea excepțiilor în Java

  1. Tratarea excepțiilor
  2. Avantajul gestionării excepțiilor
  3. Ierarhia claselor de excepție
  4. Tipuri de excepție
  5. Exemplu de excepție
  6. Scenarii în care poate apărea o excepție

The Gestionarea excepțiilor în Java este unul dintre cei puternici mecanism pentru a gestiona erorile de rulare astfel încât să se poată menţine debitul normal al aplicaţiei.

În acest tutorial, vom afla despre excepțiile Java, tipurile lor și diferența dintre excepțiile bifate și nebifate.

Tigru leu diferenta

Ce este excepția în Java?

Semnificația dicționarului: Excepția este o condiție anormală.

În Java, o excepție este un eveniment care perturbă fluxul normal al programului. Este un obiect care este aruncat în timpul rulării.

Ce este gestionarea excepțiilor?

Gestionarea excepțiilor este un mecanism de gestionare a erorilor de rulare, cum ar fi ClassNotFoundException, IOException, SQLException, RemoteException etc.

Avantajul gestionării excepțiilor

Avantajul principal al gestionării excepțiilor este pentru a menține debitul normal al aplicației . O excepție perturbă în mod normal fluxul normal al aplicației; de aceea trebuie să ne ocupăm de excepții. Să luăm în considerare un scenariu:

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

Să presupunem că există 10 instrucțiuni într-un program Java și apare o excepție la instrucțiunea 5; restul codului nu va fi executat, adică instrucțiunile de la 6 la 10 nu vor fi executate. Totuși, atunci când efectuăm gestionarea excepțiilor, restul instrucțiunilor vor fi executate. De aceea folosim gestionarea excepțiilor Java .

Știi?
  • Care este diferența dintre excepțiile bifate și neverificate?
  • Ce se întâmplă în spatele codului int data=50/0;?
  • De ce să folosiți blocuri multiple de captură?
  • Există vreo posibilitate când blocul final nu este executat?
  • Ce este propagarea excepției?
  • Care este diferența dintre cuvântul cheie throw și throws?
  • Care sunt cele 4 reguli de utilizare a gestionării excepțiilor cu înlocuirea metodei?

Ierarhia claselor Java Exception

Clasa java.lang.Throwable este clasa rădăcină a ierarhiei Java Exception moștenite de două subclase: Exception și Error. Ierarhia claselor Java Exception este prezentată mai jos:

ierarhia gestionării excepțiilor

Tipuri de excepții Java

Există în principal două tipuri de excepții: bifate și nebifate. O eroare este considerată excepție neverificată. Cu toate acestea, conform Oracle, există trei tipuri de excepții și anume:

  1. Excepție bifată
  2. Excepție nebifată
  3. Eroare
ierarhia gestionării excepțiilor

Diferența dintre excepțiile bifate și nebifate

1) Excepție bifată

Clasele care moștenesc direct clasa Throwable, cu excepția RuntimeException și Error, sunt cunoscute ca excepții verificate. De exemplu, IOException, SQLException, etc. Excepțiile verificate sunt verificate la compilare.

2) Excepție nebifată

Clasele care moștenesc RuntimeException sunt cunoscute ca excepții neverificate. De exemplu, ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException etc. Excepțiile neverificate nu sunt verificate la compilare, dar sunt verificate în timpul execuției.

3) Eroare

Eroarea este irecuperabilă. Câteva exemple de erori sunt OutOfMemoryError, VirtualMachineError, AssertionError etc.

Cuvinte cheie de excepție Java

Java oferă cinci cuvinte cheie care sunt folosite pentru a gestiona excepția. Următorul tabel descrie fiecare.

Cuvânt cheieDescriere
încercaCuvântul cheie „încercați” este folosit pentru a specifica un bloc în care ar trebui să plasăm un cod de excepție. Înseamnă că nu putem folosi try block singur. Blocul de încercare trebuie să fie urmat fie de catch, fie de final.
capturăBlocul „catch” este folosit pentru a gestiona excepția. Trebuie să fie precedat de try block, ceea ce înseamnă că nu putem folosi catch block singur. Poate fi urmat de blocarea finală mai târziu.
in cele din urmaBlocul „finally” este folosit pentru a executa codul necesar al programului. Se execută indiferent dacă o excepție este gestionată sau nu.
aruncaCuvântul cheie „aruncare” este folosit pentru a arunca o excepție.
aruncăriCuvântul cheie „aruncă” este folosit pentru a declara excepții. Specifică că poate apărea o excepție în metodă. Nu face excepție. Este întotdeauna folosit cu semnătura metodei.

Exemplu de gestionare a excepțiilor Java

Să vedem un exemplu de manipulare a excepțiilor Java în care folosim o instrucțiune try-catch pentru a gestiona excepția.

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...'); } } 
Testează-l acum

Ieșire:

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

În exemplul de mai sus, 100/0 ridică o ArithmeticException care este gestionată de un bloc try-catch.

Scenarii comune ale excepțiilor Java

Sunt date câteva scenarii în care pot apărea excepții neverificate. Acestea sunt după cum urmează:

1) Un scenariu în care apare ArithmeticException

Dacă împărțim orice număr la zero, apare o excepție ArithmeticException.

 int a=50/0;//ArithmeticException 

2) Un scenariu în care apare NullPointerException

Dacă avem o valoare nulă în oricare variabil , efectuarea oricărei operații asupra variabilei aruncă o excepție NullPointerException.

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

3) Un scenariu în care apare NumberFormatException

Dacă formatarea oricărei variabile sau număr este nepotrivită, poate duce la NumberFormatException. Să presupunem că avem un şir variabilă care are caractere; convertirea acestei variabile în cifră va provoca NumberFormatException.

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

4) Un scenariu în care apare ArrayIndexOutOfBoundsException

Când o matrice depășește dimensiunea sa, apare excepția ArrayIndexOutOfBoundsException. pot exista alte motive pentru a apărea ArrayIndexOutOfBoundsException. Luați în considerare următoarele afirmații.

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

Indexul excepțiilor Java

  1. Blocul Java Try-Catch
  2. Bloc de captură multiplu Java
  3. Încercați imbricat Java
  4. Java în sfârșit bloc
  5. Cuvânt cheie Java Throw
  6. Propagarea excepțiilor Java
  7. Java aruncă cuvinte cheie
  8. Aruncare Java vs Aruncare
  9. Java Final vs Finally vs Finalize
  10. Gestionarea excepțiilor Java cu suprascrierea metodei
  11. Excepții personalizate Java