РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
692 of 1163 menu

Предложение throws

Предложение throws используется в сигнатуре метода для указания исключений, которые метод может выбросить, но не обрабатывает внутри себя. В качестве параметров через запятую перечисляются типы исключений, которые метод делегирует вызывающему коду. Если метод выбрасывает проверяемое исключение, но не обрабатывает его, он обязан указать это исключение в предложении throws.

Синтаксис

public void methodName() throws ExceptionType1, ExceptionType2 { // тело метода }

Пример

Давайте создадим метод checkAge, который выбрасывает исключение IllegalArgumentException, если возраст меньше 18. В сигнатуре метода укажем это исключение через throws:

public class Main { public static void checkAge(int age) throws IllegalArgumentException { if (age < 18) { throw new IllegalArgumentException("Age must be at least 18"); } System.out.println("Access granted"); } public static void main(String[] args) { try { checkAge(15); } catch (IllegalArgumentException e) { System.out.println(e.getMessage()); } } }

Результат выполнения кода:

"Age must be at least 18"

Пример

Давайте создадим метод parseNumber, который может выбросить проверяемое исключение NumberFormatException при попытке преобразовать некорректную строку в число. Укажем это исключение в предложении throws:

public class Main { public static int parseNumber(String str) throws NumberFormatException { return Integer.parseInt(str); } public static void main(String[] args) { try { int res = parseNumber("abcde"); System.out.println(res); } catch (NumberFormatException e) { System.out.println("Invalid number format"); } } }

Результат выполнения кода:

"Invalid number format"

Пример

Давайте создадим метод divide, который выбрасывает исключение ArithmeticException при делении на ноль. Укажем это исключение в предложении throws:

public class Main { public static int divide(int a, int b) throws ArithmeticException { return a / b; } public static void main(String[] args) { try { int res = divide(10, 0); System.out.println(res); } catch (ArithmeticException e) { System.out.println("Division by zero"); } } }

Результат выполнения кода:

"Division by zero"

Смотрите также

  • оператор throw,
    который выбрасывает исключение
  • конструкция try,
    которая содержит защищаемый код
  • блок catch,
    который обрабатывает исключение
  • блок finally,
    который выполняется всегда
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить