Sobes.tech
Junior

Kaip veikia try-catch konstrukcija Java?

sobes.tech AI

Atsakymas iš AI

Try-catch struktūra naudojama klaidų apdorojimui — tai įvykiai, pažeidžiantys programos normalų srautą.

  • try: Kodo blokas, kuriame gali įvykti klaida. Jei klaida įvyksta try bloke, jis nutraukia veikimą.
  • catch: Kodo blokas, kuris vykdomas, jei įvyksta tam tikro tipo klaida (nurodyta skliaustuose po catch). Java ieško tinkamo catch bloko klaidai apdoroti. Jei rastas, vykdomas šio bloko kodas.
  • finally (nebūtina): Kodo blokas, kuris visada vykdomas po try-catch, nepriklausomai nuo to, ar įvyko klaida ar ne, ar ji buvo sugauta. Naudojamas išteklių valymui (failų uždarymui, ryšių nutraukimui ir kt.).
public class ExceptionHandlingExample {

    public static void main(String[] args) {
        try {
            // Kodo dalis, galinti sukelti klaidą
            int result = 10 / 0; // ArithmeticException
            System.out.println("Šis eilutė nebus vykdoma, jei įvyks klaida.");
        } catch (ArithmeticException e) {
            // Konkretus klaidos tipas apdorojamas
            System.err.println("Įvyko aritmetinė klaida: " + e.getMessage());
        } catch (Exception e) {
            // Bendra klaidų apdorojimo dalis
            System.err.println("Įvyko nežinoma klaida: " + e.getMessage());
        } finally {
            // Visada vykdomas kodas
            System.out.println("Finally blokas įvykdytas.");
        }

        System.out.println("Programa tęsiasi po try-catch.");
    }
}

Lyginant try-catch ir throws:

Žymuo try-catch throws
Tikslas Klaidos apdorojimas Atsakomybės perdavimas
Vieta Kodo blokas Metodų parašas
Veiksmas Sugauti ir apdoroti klaidą Nurodyti galimą išmetimą