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

Метод orElseThrow

Метод orElseThrow возвращает значение, содержащееся в объекте Optional, если оно присутствует. Если же значение отсутствует, метод выбрасывает исключение. Без параметров он выбрасывает NoSuchElementException. В качестве параметра можно передать поставщика исключения (Supplier), который создаст нужное исключение.

Синтаксис

optional.orElseThrow() optional.orElseThrow(exceptionSupplier)

Первый вариант без параметров выбрасывает NoSuchElementException. Второй вариант принимает Supplier, который возвращает исключение для выбрасывания.

Пример

Давайте получим значение из Optional, которое присутствует:

import java.util.Optional; public class Main { public static void main(String[] args) { Optional<String> opt = Optional.of("abcde"); String res = opt.orElseThrow(); System.out.println(res); } }

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

"abcde"

Пример

Давайте попробуем получить значение из пустого Optional. Будет выброшено исключение:

import java.util.Optional; public class Main { public static void main(String[] args) { Optional<String> opt = Optional.empty(); try { String res = opt.orElseThrow(); System.out.println(res); } catch (Exception e) { System.out.println("Exception: " + e.getClass().getSimpleName()); } } }

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

"Exception: NoSuchElementException"

Пример

Давайте передадим поставщика исключения, чтобы выбросить собственное исключение:

import java.util.Optional; public class Main { public static void main(String[] args) { Optional<String> opt = Optional.empty(); try { String res = opt.orElseThrow(() -> new IllegalStateException("Value is missing")); System.out.println(res); } catch (Exception e) { System.out.println("Exception: " + e.getMessage()); } } }

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

"Exception: Value is missing"

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

  • класс Optional,
    который представляет контейнер для значения
  • метод orElse,
    который возвращает значение по умолчанию
  • метод orElseGet,
    который возвращает значение из поставщика
  • метод get,
    который возвращает значение или выбрасывает исключение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить