- Izņēmumu apstrāde
- Izņēmumu apstrādes priekšrocības
- Izņēmuma klašu hierarhija
- Izņēmumu veidi
- Izņēmuma piemērs
- 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?
|
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:
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:
- Pārbaudīts izņēmums
- Izņēmums nav atzīmēts
- Kļūda
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ārds | Apraksts |
---|---|
mēģināt | Atslē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. |
beidzot | Bloks “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ē. |
mest | Atslēgvārdu 'mest' izmanto, lai izmestu izņēmumu. |
metieni | Atslē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
- Java Try-Catch Block
- Java vairāku nozvejas bloks
- Java Nested Try
- Java beidzot bloķēt
- Java metiena atslēgvārds
- Java izņēmuma pavairošana
- Java met atslēgvārdu
- Java metiens pret metieniem
- Java Final vs Beidzot vs Finalize
- Java izņēmumu apstrāde ar metodes ignorēšanu
- Java pielāgotie izņēmumi