- Išimčių tvarkymas
- Išimčių tvarkymo privalumas
- Išimčių klasių hierarchija
- Išimčių rūšys
- Išimties pavyzdys
- Scenarijai, kai gali atsirasti išimtis
The Išimčių tvarkymas Java yra vienas iš galingiausių mechanizmas, skirtas valdyti vykdymo klaidas kad būtų galima palaikyti normalų programos srautą.
Šioje pamokoje sužinosime apie „Java“ išimtis, jų tipus ir skirtumą tarp pažymėtų ir nepažymėtų išimčių.
nulis tikrinimas java
Kas yra „Java“ išimtis?
Žodyno reikšmė: Išimtis yra nenormali būklė.
Java, išimtis yra įvykis, kuris sutrikdo įprastą programos eigą. Tai objektas, kuris išmetamas vykdymo metu.
Kas yra išimčių tvarkymas?
Išimčių tvarkymas yra mechanizmas, skirtas tvarkyti vykdymo klaidas, tokias kaip ClassNotFoundException, IOException, SQLException, RemoteException ir kt.
Išimčių tvarkymo privalumas
Pagrindinis išimčių tvarkymo pranašumas yra palaikyti normalią programos eigą . Išimtis paprastai sutrikdo įprastą programos eigą; štai kodėl turime elgtis su išimtimis. Panagrinėkime scenarijų:
statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10;
Tarkime, kad Java programoje yra 10 teiginių, o 5 sakinyje yra išimtis; likusi kodo dalis nebus vykdoma, t.y., sakiniai nuo 6 iki 10 nebus vykdomi. Tačiau kai atliekame išimčių tvarkymą, bus vykdomi likę teiginiai. Štai kodėl mes naudojame išimčių tvarkymą Java .
Ar tu žinai?
|
„Java Exception“ klasių hierarchija
Klasė java.lang.Throwable yra pagrindinė Java Exception hierarchijos klasė, kurią paveldėjo du poklasiai: Exception ir Error. „Java Exception“ klasių hierarchija pateikta toliau:
Java išimčių tipai
Dažniausiai yra dviejų tipų išimtys: pažymėtos ir nepažymėtos. Klaida laikoma nepažymėta išimtimi. Tačiau, pasak „Oracle“, yra trijų tipų išimtys, būtent:
- Patikrinta išimtis
- Nepažymėta išimtis
- Klaida
Skirtumas tarp pažymėtų ir nepažymėtų išimčių
1) Pažymėta išimtis
Klasės, kurios tiesiogiai paveldi klasę Throwable, išskyrus RuntimeException ir Error, yra žinomos kaip pažymėtos išimtis. Pavyzdžiui, IOException, SQLException ir tt Patikros išimtys tikrinamos kompiliavimo metu.
2) Nepažymėta išimtis
Klasės, kurios paveldi RuntimeException, yra žinomos kaip nepažymėtos išimtys. Pavyzdžiui, ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException ir tt Nepažymėtos išimtys nėra tikrinamos kompiliavimo metu, tačiau jos tikrinamos vykdymo metu.
3) Klaida
Klaida nepataisoma. Kai kurie klaidų pavyzdžiai yra „OutOfMemoryError“, „VirtualMachineError“, „AssertionError“ ir kt.
„Java“ išimties raktiniai žodžiai
„Java“ pateikia penkis raktinius žodžius, kurie naudojami išimties tvarkai. Toliau pateiktoje lentelėje aprašomas kiekvienas.
raktinis žodis | apibūdinimas |
---|---|
bandyti | Raktinis žodis „bandyti“ naudojamas nurodyti bloką, kuriame turėtume įdėti išimties kodą. Tai reiškia, kad negalime naudoti vien try block. Po trynimo bloko turi sekti arba sugauti, arba pagaliau. |
sugauti | Išimčiai tvarkyti naudojamas blokas „pagauti“. Prieš tai turi būti trynimo blokas, o tai reiškia, kad negalime naudoti vien gaudymo bloko. Vėliau gali būti blokuojamas pagaliau. |
pagaliau | „Pagaliau“ blokas naudojamas reikiamam programos kodui vykdyti. Jis vykdomas neatsižvelgiant į tai, ar išimtis tvarkoma, ar ne. |
mesti | Raktinis žodis „išmesti“ naudojamas išimties išmetimui. |
metimai | Išimtims deklaruoti naudojamas raktinis žodis „metimai“. Jame nurodoma, kad metode gali būti išimtis. Tai nedaro išimties. Jis visada naudojamas su metodo parašu. |
Java išimčių tvarkymo pavyzdys
Pažiūrėkime „Java Exception Handling“ pavyzdį, kuriame išimčiai apdoroti naudojame try-catch teiginį.
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...'); } }Išbandykite dabar
Išvestis:
Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code...
Aukščiau pateiktame pavyzdyje 100/0 iškelia aritmetinę išimtį, kurią tvarko bandomasis blokas.
Įprasti „Java“ išimčių scenarijai
Pateikiami keli scenarijai, kai gali atsirasti nepažymėtų išimčių. Jie yra tokie:
1) Scenarijus, kai įvyksta aritmetinė išimtis
Jei kurį nors skaičių padalinsime iš nulio, atsiranda aritmetinė išimtis.
int a=50/0;//ArithmeticException
2) Scenarijus, kai įvyksta NullPointerException
Jei bet kuriame turime nulinę reikšmę kintamasis , atlikdami bet kokią operaciją su kintamuoju išmeta NullPointerException.
String s=null; System.out.println(s.length());//NullPointerException
3) Scenarijus, kai įvyksta NumberFormatException
Jei kurio nors kintamojo ar skaičiaus formatavimas nesutampa, gali atsirasti NumberFormatException. Tarkime, kad turime a styga kintamasis, turintis simbolių; pavertus šį kintamąjį į skaitmenį, atsiras NumberFormatException.
String s='abc'; int i=Integer.parseInt(s);//NumberFormatException
4) Scenarijus, kai įvyksta ArrayIndexOutOfBoundsException
Kai masyvas viršija jo dydį, įvyksta ArrayIndexOutOfBoundsException. ArrayIndexOutOfBoundsException gali atsirasti dėl kitų priežasčių. Apsvarstykite šiuos teiginius.
int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException
„Java“ išimčių indeksas
- „Java Try-Catch“ blokas
- Java kelių sugavimo blokas
- Java Neted Try
- „Java“ pagaliau blokas
- „Java Throw“ raktinis žodis
- „Java“ išimčių dauginimas
- „Java“ meta raktinį žodį
- „Java“ metimas prieš metimus
- „Java Final“ ir „Galutinai“ ir „Finalize“.
- „Java“ išimčių tvarkymas su metodo nepaisymu
- Java tinkintos išimtys