Выброс и создание собственных исключений
Научитесь явно выбрасывать исключения и определять собственные классы исключений.
«Выброс и создание собственных исключений» — бесплатный урок Java Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 3 уроков всего.
Введение
Иногда необходимо самостоятельно сообщить об ошибке. Java позволяет явно выбрасывать исключения и даже создавать собственные типы.
Оператор выброса исключения
Оператор выброса исключения создаёт и передаёт исключение. Используйте его внутри методов, чтобы указать на возникшую проблему.
Код: выброс встроенного исключения
Здесь мы выбрасываем IllegalArgumentException, когда возраст слишком мал.
public class Main {
static void checkAge(int age) {
if (age < 18) {
throw new IllegalArgumentException("Must be 18 or older");
}
System.out.println("Access granted");
}
public static void main(String[] args) {
try {
checkAge(15);
} catch (IllegalArgumentException e) {
System.out.println("Caught: " + e.getMessage());
}
}
}
Пользовательские исключения
Вы можете создавать собственные пользовательские исключения. Для проверяемых исключений наследуйтесь от Exception, а для непроверяемых — от RuntimeException.
Код: пользовательское исключение
Здесь показано пользовательское проверяемое исключение. Методы должны объявлять его с помощью throws.
public class Main {
// Custom checked exception
static class InvalidAgeException extends Exception {
InvalidAgeException(String msg) { super(msg); }
}
static void validate(int age) throws InvalidAgeException {
if (age < 18) throw new InvalidAgeException("Too young!");
}
public static void main(String[] args) {
try {
validate(15);
} catch (InvalidAgeException e) {
System.out.println("Caught custom: " + e.getMessage());
}
}
}
Код: пользовательское исключение времени выполнения
Пользовательские исключения времени выполнения наследуются от RuntimeException. Объявлять их не нужно.
public class Main {
// Custom unchecked exception
static class FatalError extends RuntimeException {
FatalError(String msg) { super(msg); }
}
public static void main(String[] args) {
try {
throw new FatalError("Something bad happened");
} catch (FatalError e) {
System.out.println("Caught runtime: " + e.getMessage());
}
}
}
Проверка пользовательских исключений
Быстрая проверка: как определить пользовательское проверяемое исключение?
Повторение
Повторение: используйте выброс исключений, чтобы сообщать об ошибках. Для проверяемых пользовательских исключений наследуйтесь от Exception, а для непроверяемых — от RuntimeException.
Часто задаваемые вопросы
Урок «Выброс и создание собственных исключений» бесплатный?
Да — полный текст урока «Выброс и создание собственных исключений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 3 уроков всего.
Чему я научусь в уроке «Выброс и создание собственных исключений»?
Научитесь явно выбрасывать исключения и определять собственные классы исключений. Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.
Сколько времени занимает урок «Выброс и создание собственных исключений»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Выброс и создание собственных исключений
- try-with-resources (AutoCloseable)
- Защитное программирование