Sobes.tech
Junior — Middle

Milyen felhasználói kivételt kell létrehozni és dobni a metóduson belül a throws kulcsszó után, hogy garantálja, hogy a hívó kód kötelezően kezelje ezt a kivételt?

sobes.tech MI

Válasz az MI-től

Java-ban, hogy garantáljuk, hogy a hívó kód kötelezően kezelje a kivételt, létre kell hozni egy egyedi kivételt, amely az Exception osztályból öröklődik (de nem a RuntimeException-ból). Ezeket a kivételeket ellenőrzött kivételeknek (checked exceptions) nevezzük.

Egy egyedi ellenőrzött kivétel létrehozásának példája:

public class MyCheckedException extends Exception {
    public MyCheckedException(String message) {
        super(message);
    }
}

A metódusban ez a kivétel a throws-szal van deklarálva:

public void myMethod() throws MyCheckedException {
    // logika
    throw new MyCheckedException("Hiba");
}

A hívó kódnak ezt a kivételt vagy try-catch-tel kell kezelnie, vagy tovább kell deklarálnia a throws-zal.