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.