Sobes.tech
Junior

Ako funguje konštrukcia try-catch v Jave?

sobes.tech AI

Odpoveď od AI

Konštrukcia try-catch sa používa na spracovanie výnimiek, udalostí, ktoré narušujú normálny tok vykonávania programu.

  • try: Blok kódu, v ktorom môže potenciálne dôjsť k výnimke. Ak sa vo vnútri bloku try vyskytne výnimka, vykonávanie tohto bloku sa preruší.
  • catch: Blok kódu, ktorý sa vykoná, ak dôjde k výnimke určitého typu (uvedeného v zátvorkách za catch) v príslušnom bloku try. Java hľadá vhodný blok catch na spracovanie výnimky. Ak ho nájde, kód v tomto bloku sa vykoná.
  • finally (voliteľné): Blok kódu, ktorý je zaručene vykonaný po blokoch try-catch, bez ohľadu na to, či došlo k výnimke alebo nie, alebo či bola zachytená. Používa sa na uvoľnenie zdrojov (zatváranie súborov, spojení atď.).
public class ExceptionHandlingExample {

    public static void main(String[] args) {
        try {
            // Kód, ktorý môže spôsobiť výnimku
            int result = 10 / 0; // ArithmeticException
            System.out.println("Táto riadok nebude vykonaná, ak dôjde k výnimke.");
        } catch (ArithmeticException e) {
            // Spracovanie špecifického typu výnimky
            System.err.println("Vyskytla sa aritmetická chyba: " + e.getMessage());
        } catch (Exception e) {
            // Všeobecné zachytenie pre akýkoľvek iný typ výnimky
            System.err.println("Vyskytla sa neznáma chyba: " + e.getMessage());
        } finally {
            // Kód, ktorý sa vždy vykoná
            System.out.println("Blok finally bol vykonaný.");
        }

        System.out.println("Program pokračuje po try-catch.");
    }
}

Porovnanie medzi try-catch a throws:

Vlastnosť try-catch throws
Cieľ Spracovanie výnimky Delegovanie zodpovednosti
Miesto Blok kódu Podpis metódy
Akcia Zachytiť a spracovať výnimku Uvádza možnosť vyhodiť výnimku