Sobes.tech
Junior

Jak funguje konstrukce try-catch v Javě?

sobes.tech AI

Odpověď od AI

Konstrukce try-catch se používá k ošetření výjimek, což jsou události narušující normální tok provádění programu.

  • try: Blok kódu, ve kterém může potenciálně dojít k výjimce. Pokud se uvnitř bloku try vyskytne výjimka, je tento blok přerušen.
  • catch: Blok kódu, který se vykoná, pokud dojde k výjimce určitého typu (uvedeného v závorkách za catch) v odpovídajícím bloku try. Java hledá vhodný blok catch pro zpracování výjimky. Pokud ho najde, kód v tomto bloku se vykoná.
  • finally (volitelné): Blok kódu, který je zaručeně vykonán po blocích try-catch, bez ohledu na to, zda došlo k výjimce nebo ne, nebo zda byla zachycena. Používá se k uvolnění zdrojů (zavření souborů, spojení atd.).
public class ExceptionHandlingExample {

    public static void main(String[] args) {
        try {
            // Kód, který může vyvolat výjimku
            int result = 10 / 0; // ArithmeticException
            System.out.println("Tato řádka nebude provedena, pokud dojde k výjimce.");
        } catch (ArithmeticException e) {
            // Zpracování specifického typu výjimky
            System.err.println("Došlo k aritmetické chybě: " + e.getMessage());
        } catch (Exception e) {
            // Obecné zachycení pro jakýkoli jiný typ výjimky
            System.err.println("Došlo k neznámé chybě: " + e.getMessage());
        } finally {
            // Kód, který se vždy vykoná
            System.out.println("Blok finally byl vykonán.");
        }

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

Porovnání try-catch a throws:

Vlastnost try-catch throws
Cíl Zpracování výjimek Delegování odpovědnosti
Místo Blok kódu Signatura metody
Akce Zachytit a zpracovat výjimku Uvádí možnost vyvolání výjimky