Sobes.tech
Junior — Middle

Ktorú používateľskú výnimku je potrebné vytvoriť a vyhodiť vnútri metódy po kľúčovom slove throws, aby sa zabezpečilo, že volajúci kód bude povinne spracovávať túto výnimku?

sobes.tech AI

Odpoveď od AI

V Jave, aby ste zabezpečili, že volajúci kód bude povinne spracovávať výnimku, musíte vytvoriť vlastnú výnimku, ktorá dedí od triedy Exception (ale nie od RuntimeException). Tieto výnimky sa nazývajú kontrolované výnimky (checked exceptions).

Príklad vytvorenia vlastnej kontrolovanej výnimky:

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

V metóde je táto výnimka deklarovaná pomocou throws:

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

Volajúci kód je povinný túto výnimku spracovať buď pomocou try-catch, alebo ju ďalej deklarovať pomocou throws.