Можно ли определить собственное исключение с возможностью проверки во время компиляции?

Да, в Java можно определить собственное исключение, которое будет проверяться во время компиляции.

Короткий ответ

Что ответить на собеседовании

Да, в Java можно определить собственное исключение, которое будет проверяться во время компиляции. Для этого нужно создать класс исключения, наследующийся от класса Exception (но не от RuntimeException). Такие исключения называются проверяемыми (checked exceptions). Компилятор заставляет обработать их либо с помощью блока try-catch, либо объявить в сигнатуре метода через throws.

Подробный разбор

Ответ с пояснениями

Да, в Java можно определить собственное исключение, которое будет проверяться во время компиляции. Для этого нужно создать класс исключения, наследующийся от класса Exception (но не от RuntimeException). Такие исключения называются проверяемыми (checked exceptions). Компилятор заставляет обработать их либо с помощью блока try-catch, либо объявить в сигнатуре метода через throws.

Пример:

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

public void someMethod() throws MyCheckedException {
    // ...
    throw new MyCheckedException("Ошибка!");
}

Если же наследоваться от RuntimeException, то исключение будет непроверяемым (unchecked) и проверка во время компиляции не будет требоваться.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее