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

Класс NoSuchElementException

Класс NoSuchElementException наследуется от класса RuntimeException и представляет собой unchecked-исключение, которое выбрасывается, когда запрашиваемый элемент не найден. Чаще всего это исключение возникает при работе с итераторами, когда метод next вызывается после того, как все элементы уже были перебраны. Также оно может возникнуть при работе с классом Scanner, когда в потоке ввода отсутствуют данные ожидаемого типа, и с классом Optional при вызове метода get у пустого контейнера. Конструктор класса не принимает параметров или принимает строку с сообщением об ошибке.

Синтаксис

new NoSuchElementException() new NoSuchElementException(String message)

Пример

Давайте рассмотрим ситуацию, когда исключение NoSuchElementException возникает при работе с итератором после обхода всех элементов:

import java.util.List; import java.util.Iterator; import java.util.NoSuchElementException; public class Main { public static void main(String[] args) { List<String> list = List.of("a", "b", "c"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } try { iterator.next(); } catch (NoSuchElementException e) { System.out.println("Caught: " + e.getMessage()); } } }

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

"a" "b" "c" "Caught: null"

Пример

Давайте создадим исключение NoSuchElementException вручную с собственным сообщением и обработаем его:

import java.util.NoSuchElementException; public class Main { public static void main(String[] args) { try { throw new NoSuchElementException("Element not found"); } catch (NoSuchElementException e) { System.out.println(e.getMessage()); } } }

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

"Element not found"

Пример

Давайте посмотрим, как исключение NoSuchElementException возникает при вызове метода get у пустого объекта Optional:

import java.util.Optional; import java.util.NoSuchElementException; public class Main { public static void main(String[] args) { Optional<String> empty = Optional.empty(); try { empty.get(); } catch (NoSuchElementException e) { System.out.println("Optional is empty"); } } }

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

"Optional is empty"

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

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