Izuzeci – OOP 1.6

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/27

flashcard set

Earn XP

Description and Tags

Skup pitanja i odgovora koji pokrivaju ključne pojmove o radu sa izuzecima u Javi: vrste izuzetaka, try-catch-finally, try-with-resources, prosleđivanje, generisanje, definisanje novih tipova i klasu Throwable.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

28 Terms

1
New cards

Šta predstavlja izuzetak u Javi?

Objekat (instanca klase Exception ili njenih potklasa) koji signalizuje pojavu greške tokom izvršavanja programa.

2
New cards

Koje tri operacije možemo izvršiti nad izuzecima?

Generisati (throw), obraditi (catch) ili proslediti (throws) izuzetak.

3
New cards

Koje dve osnovne vrste izuzetaka postoje u Javi i koja je razlika?

Proveravani (checked) – moraju biti obrađeni ili prosleđeni; neproveravani (unchecked) – nije obavezno ni obraditi ni proslediti.

4
New cards

Kojom logičkom greškom su najčešće uzrokovani neproveravani (unchecked) izuzeci?

Najčešće su posledica programerskog baga (semantičke greške) koji ne zavisi od spoljnih faktora.

5
New cards

Koja je nadklasa svih izuzetaka u Javi?

java.lang.Exception (koja zajedno sa Error nasleđuje Throwable).

6
New cards

Koja klasa je koren svih neproveravanih (unchecked) izuzetaka?

java.lang.RuntimeException.

7
New cards

Kako kreiramo novi proveravani izuzetak?

Definišemo klasu koja nasleđuje Exception (direktno ili indirektno) i ne nasleđuje RuntimeException.

8
New cards

Kako kreiramo novi neproveravani izuzetak?

Definišemo klasu koja nasleđuje RuntimeException.

9
New cards

Nabroj bar tri tipična neproveravana izuzetka iz paketa java.lang.

NullPointerException, ArithmeticException, ArrayIndexOutOfBoundsException, ClassCastException, NumberFormatException…

10
New cards

Šta se dešava ako neproveravani izuzetak nije uhvaćen?

Program prekida rad, ispisuje se stack trace, jer se izuzetak propagira do JVM-a.

11
New cards

Šta se dešava kada main metoda propagira proveravani izuzetak do JVM-a?

Program se prekida i JVM ispisuje stack trace tog proveravanog izuzetka.

12
New cards

Čemu služi try-catch-finally konstrukcija?

Odvaja kod normalnog toka od koda za obradu grešaka i obezbeđuje izvršavanje finally bloka za oslobađanje resursa.

13
New cards

Kada se finally blok izvršava?

Uvek – bez obzira da li se izuzetak desio, da li je uhvaćen ili se iz metoda izađe naredbom return.

14
New cards

Može li try blok imati više catch grana?

Da, moguće je navesti više catch grana za različite tipove izuzetaka.

15
New cards

Šta je multi-catch?

Jedna catch grana koja obrađuje više različitih tipova izuzetaka navedenih uz znak |.

16
New cards

Šta je try-with-resources?

Try sintaksa koja prima jedan ili više resursa (objekata koji implementiraju Closeable/AutoCloseable) i automatski ih zatvara na kraju bloka.

17
New cards

Da li try-with-resources mora sadržati catch ili finally?

Ne mora – resursi će biti zatvoreni automatski i bez tih blokova.

18
New cards

Kako metoda prosleđuje (propagira) proveravani izuzetak?

Deklariše ga u zaglavlju iza ključne reči throws.

19
New cards

Koja naredba se koristi za generisanje izuzetka?

throw izraz (npr. throw new IOException("Poruka"));

20
New cards

Šta se mora navesti u zaglavlju metode koja može baciti proveravani izuzetak?

Tip(ove) izuzetka posle ključne reči throws.

21
New cards

Kako izgleda osnovna forma definisanja sopstvenog tipa izuzetka?

javna klasa MojaGreska extends Exception { public MojaGreska(String msg){ super(msg); } }

22
New cards

Koje dve glavne potklase čine klasu Throwable?

Exception i Error.

23
New cards

Kakve su greške predstavljene klasom Error?

Greške JVM-a od kojih se aplikacija obično ne može oporaviti (npr. OutOfMemoryError, StackOverflowError).

24
New cards

Kada se može pojaviti StackOverflowError?

Kod beskonačne ili veoma duboke rekurzije koja prepunjava call stack.

25
New cards

Šta izaziva OutOfMemoryError?

Pokušaj da se alocira više memorije nego što JVM može da obezbedi (npr. ogromni nizovi).

26
New cards

Zašto se neproveravani (bug) izuzeci uglavnom ne hvataju već se greška otklanja?

Jer ukazuju na logički problem u kodu koji treba popraviti, a ne na izuzetan spoljašnji uslov.

27
New cards

Da li finally blok izvršava kada se iz try bloka izađe pomoću return?

Da, finally se i tada izvršava.

28
New cards

Šta se dešava prilikom automatskog zatvaranja resursa u try-with-resources?

Za svaki resurs se implicitno poziva njegova metoda close() nakon završetka try bloka (čak i ako se desi izuzetak).