throw в Java используется, чтобы явно выбросить исключение: прервать обычный ход выполнения и передать управление обработчику catch или выше по стеку. Это полезно для проверки входных данных и сигнализации об ошибках в бизнес-логике. Синтаксис: throw new ExceptionType("message");. Можно выбрасывать как стандартные исключения (например, IllegalArgumentException), так и свои. В задачах java онлайн вы потренируетесь читать код, понимать где и почему возникает исключение, и как это влияет на результат.
Пример:
if (age < 0) {
throw new IllegalArgumentException("age");
}
- Модуль 1: Первая программа и структура
- Модуль 2: Переменные и типы данных
- Объявление и инициализация переменных.
- Примитивы: целые числа (int, long, byte, short).
- Примитивы: дробные числа (double, float).
- Примитивы: логический тип (boolean).
- Примитивы: символьный тип (char).
- String — основы работы со строками.
- Приведение типов (Casting): расширение и сужение.
- Область видимости переменных (Scope).
- Модуль 3: Операторы
- Модуль 4: Управляющие конструкции
- Модуль 5: Массивы и Строки (Advanced)
- Создание и заполнение массива.
- Доступ к элементам по индексу.
- Свойство length и перебор массива.
- Цикл for-each для массивов.
- Многомерные массивы.
- Методы String: length, charAt, isEmpty.
- Манипуляции: substring, concat, replace.
- Сравнение строк: equals vs ==.
- Разделение строк (split) и trim.
- StringBuilder (изменяемые строки).
- Модуль 6: Методы
- Модуль 7: Классы и Объекты (ООП Часть 1)
- Модуль 8: Капсуляция и Модификаторы
- Модуль 9: Наследование и Полиморфизм (ООП Часть 2)
- Модуль 10: Обработка исключений
- Блок try-catch.
- Множественные блоки catch.
- Блок finally.
- Выброс исключения (throw).
- Проброс исключения (throws).
- Модуль 11: Коллекции и Дженерики
- Модуль 12: Функциональный стиль (Java 8+)
- Модуль 13: Полезные стандарты
1. Выбери подходящий тип исключения
В данном фрагменте кода реализован метод, который проверяет входные аргументы и выбрасывает исключения при нарушении условий. Вам необходимо выбрать подходящие типы исключений из предложенного списка для каждого пропуска, чтобы код соответствовал стандартным практикам обработки ошибок в Java. Обратите внимание на условия проверок: аргумент не должен быть null и должен быть положительным числом.
public class Validator {
public void validate(String name, int age) {
if (name == null) {
throw new input1S("Name cannot be null");
}
if (age < 0) {
throw new input2S("Age cannot be negative");
}
// Дополнительная логика
}
}2. Исправь ошибку, связанную с throw
В данном фрагменте кода на Java допущена одна ошибка, связанная с оператором throw. Код пытается выбросить исключение при некорректном значении, но из-за синтаксической ошибки программа не скомпилируется. Найдите и исправьте строку с ошибкой, чтобы исключение корректно создавалось и выбрасывалось.
public class AgeValidator { public static void validateAge(int age) { if (age < 0) { throw IllegalArgumentException("Возраст не может быть отрицательным"); } System.out.println("Возраст корректен: " + age); }}3. Собери метод валидации с throw
Из предложенных строк соберите корректный метод валидации на Java, который проверяет, что переданный возраст является положительным числом. Если возраст меньше или равен нулю, метод должен выбросить исключение IllegalArgumentException с соответствующим сообщением. Метод не должен ничего возвращать при успешной проверке. Одна из строк лишняя и в решение входить не должна.
public static void validateAge(int age) { if (age <= 0) { throw new IllegalArgumentException("Возраст должен быть положительным числом."); }} System.out.println(age);4. Разложи исключения по категориям
Перед вами список классов исключений в Java. Распределите их по двум категориям: checked исключения (наследники Exception, но не RuntimeException) и unchecked исключения (наследники RuntimeException). Каждый элемент должен оказаться строго в одной из категорий. Обратите внимание, что checked исключения проверяются на этапе компиляции и требуют обязательной обработки, в то время как unchecked исключения возникают во время выполнения программы.
5. Какое сообщение попадёт в исключение
Рассмотрите фрагмент кода на Java, в котором создаётся и выбрасывается исключение с определённым сообщением, а затем это исключение перехватывается и выводится его сообщение. Определите, какое именно сообщение будет выведено на экран. Введите одну короткую строку (без кавычек).
public class Main {
public static void main(String[] args) {
try {
throw new IllegalArgumentException("Неверный аргумент: значение не может быть отрицательным");
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}