Sobes.tech
Junior — Middle

Jakie wyjątki użytkownika należy utworzyć i wyrzucić wewnątrz metody po słowie kluczowym throws, aby zagwarantować obowiązkowe obsłużenie tego wyjątku przez kod wywołujący?

sobes.tech AI

Odpowiedź od AI

W Javie, aby zagwarantować, że kod wywołujący obsłuży wyjątek obowiązkowo, należy utworzyć własny wyjątek dziedziczący po klasie Exception (ale nie po RuntimeException). Takie wyjątki nazywane są sprawdzanymi (checked exceptions).

Przykład tworzenia własnego sprawdzanego wyjątku:

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

W metodzie ten wyjątek jest deklarowany za pomocą throws:

public void myMethod() throws MyCheckedException {
    // logika
    throw new MyCheckedException("Błąd");
}

Kod wywołujący musi obsłużyć ten wyjątek albo za pomocą try-catch, albo deklarując go dalej przez throws.