U ovom uputstvu naučit ćemo o iznimkama u Javi. Pokrivat ćemo pogreške, iznimke i različite vrste iznimaka u Javi.
Iznimka je neočekivani događaj koji se događa tijekom izvršavanja programa. Utječe na tijek programskih uputa što može dovesti do nenormalnog završetka programa.
Iznimka se može dogoditi iz mnogih razloga. Neki od njih su:
- Nevažeći unos korisnika
- Kvar uređaja
- Gubitak mrežne veze
- Fizička ograničenja (nema memorije diska)
- Pogreške koda
- Otvaranje nedostupne datoteke
Java hijerarhija izuzetaka
Evo pojednostavljenog dijagrama hijerarhije izuzetaka u Javi.
Kao što možete vidjeti sa gornje slike, Throwable
klasa je korijenska klasa u hijerarhiji.
Imajte na umu da se hijerarhija dijeli na dvije grane: Pogreška i Iznimka.
Pogreške
Pogreške predstavljaju nenadoknadive uvjete kao što su Java virtualni stroj (JVM) koji ostaje bez memorije, curenje memorije, pogreške preljeva steka, nekompatibilnost knjižnice, beskonačna rekurzija itd.
Pogreške su obično izvan kontrole programera i ne bismo trebali pokušavati riješiti pogreške.
Iznimke
Program može uhvatiti i riješiti iznimke .
Kada se unutar metode dogodi iznimka, ona stvara objekt. Ovaj se objekt naziva objektom iznimke.
Sadrži informacije o iznimci kao što su naziv i opis iznimke i stanje programa kada se iznimka dogodila.
Kako se nositi s tim iznimkama naučit ćemo u sljedećem vodiču. U ovom uputstvu sada ćemo se usredotočiti na različite vrste iznimaka u Javi.
Vrste izuzetaka Java
Hijerarhija iznimki također ima dvije grane: RuntimeException
i IOException
.
1. RuntimeException
Runtime iznimka događa zbog pogreške programiranja. Poznati su i kao neprovjerene iznimke .
Te se iznimke ne provjeravaju u vrijeme prevođenja već u vrijeme izvođenja. Neki od uobičajenih izuzetaka tijekom izvođenja su:
- Nepravilna upotreba API-ja -
IllegalArgumentException
- Pristup null pokazivaču (nedostaje inicijalizacija varijable) -
NullPointerException
- Pristup izvanrednom nizu -
ArrayIndexOutOfBoundsException
- Dijeljenje broja s 0 -
ArithmeticException
O tome možete razmišljati na ovaj način. "Ako je riječ o iznimci tijekom izvođenja, vi ste krivi".
Do NullPointerException
toga ne bi došlo da ste prije upotrebe provjerili je li varijabla inicijalizirana ili ne.
Ne ArrayIndexOutOfBoundsException
bi se dogodilo da ste indeks niza testirali na granicama polja.
2. IOException
An IOException
je poznat i kao provjerena iznimka . Provjeravač ih provjerava u vrijeme prevođenja i programer se traži da obradi ove iznimke.
Neki od primjera provjerenih iznimaka su:
- Pokušaj otvaranja datoteke koja ne postoji rezultira
FileNotFoundException
- Pokušaj čitanja nakon kraja datoteke
Sada znamo za iznimke, o postupanju s iznimkama naučit ćemo u sljedećem vodiču.