- Tratarea excepțiilor
- Avantajul gestionării excepțiilor
- Ierarhia claselor de excepție
- Tipuri de excepție
- Exemplu de excepție
- 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?
|
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:
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:
- Excepție bifată
- Excepție nebifată
- Eroare
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 cheie | Descriere |
---|---|
încerca | Cuvâ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 urma | Blocul „finally” este folosit pentru a executa codul necesar al programului. Se execută indiferent dacă o excepție este gestionată sau nu. |
arunca | Cuvântul cheie „aruncare” este folosit pentru a arunca o excepție. |
aruncări | Cuvâ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
- Blocul Java Try-Catch
- Bloc de captură multiplu Java
- Încercați imbricat Java
- Java în sfârșit bloc
- Cuvânt cheie Java Throw
- Propagarea excepțiilor Java
- Java aruncă cuvinte cheie
- Aruncare Java vs Aruncare
- Java Final vs Finally vs Finalize
- Gestionarea excepțiilor Java cu suprascrierea metodei
- Excepții personalizate Java