Sobes.tech
Intern

Čo je to výnimka?

sobes.tech AI

Odpoveď od AI

Výnimka je udalosť, ktorá narušuje normálny priebeh vykonávania programu. Vzniká pri chybe alebo nepredvídanej situácii.

Výnimky sú:

  • Kontrolované (Checked): vyžadujú spracovanie alebo deklaráciu v signatúre metódy (napríklad pri práci so súbormi alebo sieťou).
  • Nekontrolované (Unchecked) alebo Výnimky za behu (RuntimeException): zvyčajne naznačujú chyby v logike programu a nevyžadujú explicitné spracovanie (napríklad delenie nulou alebo výstup mimo hranice poľa).
  • Chyby (Errors): predstavujú vážne problémy, z ktorých by program zvyčajne nemal byť schopný sa zotaviť (napríklad nedostatok pamäti).

Mechanizmus spracovania výnimiek umožňuje oddeliť kód, ktorý spracováva chyby, od hlavného logického toku programu. To zvyšuje čitateľnosť a udržiavateľnosť kódu.

Na spracovanie výnimiek sa používajú bloky try-catch-finally (v Jave, C#) alebo podobné konštrukcie (try-except-finally v Pythone).

try {
    // Kód, ktorý môže spôsobiť výnimku
    int result = 10 / 0; // ArithmeticException
} catch (ArithmeticException e) {
    // Spracovanie konkrétnej výnimky
    System.err.println("Chyba: " + e.getMessage());
} catch (Exception e) {
    // Spracovanie akejkoľvek inej výnimky
    System.err.println("Vyskytla sa neočakávaná chyba");
} finally {
    // Kód, ktorý sa vykoná bez ohľadu na to, či došlo k výnimke
    System.out.println("Blok finally vykonaný");
}