Sobes.tech
Junior — Middle

Milline kasutaja erand peab olema loodud ja visatud meetodi sees pärast võtmesõna throws, et tagada, et kutsuv kood käsitleb seda kohustuslikult?

sobes.tech AI

Vastus AI-lt

Java keeles, et tagada, et kutsuv kood peab kohustuslikult töötlema erandi, tuleb luua kasutaja loodud erand, mis pärineb klassist Exception (aga mitte RuntimeException). Selliseid erandeid nimetatakse kontrollitud (checked exceptions).

Näide kasutaja loodud kontrollitud erandi loomisest:

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

Selles meetodis deklaritakse see erand throws abil:

public void myMethod() throws MyCheckedException {
    // loogika
    throw new MyCheckedException("Viga");
}

Kutsuv kood peab selle erandi kas käsitlema try-catch abil või edasi deklareerima throws-ga.