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
tryvyskytne 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 blokutry. Java hľadá vhodný blokcatchna 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 |