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

Класс RangeError

Класс RangeError представляет собой ошибку, которая возникает, когда программа пытается обратиться к элементу списка или символу строки по индексу, выходящему за пределы допустимого диапазона. В первом параметре конструктора обычно передается сообщение об ошибке, во втором - необязательное имя или значение, которое вызвало проблему. Данный класс наследуется от класса ArgumentError, так как неверный индекс является частным случаем неверного аргумента.

Синтаксис

RangeError(message, [name, value])

Пример

Давайте попробуем обратиться к элементу списка по индексу, который превышает его длину. Для этого используем блок try и catch:

void main() { List<int> numbers = [1, 2, 3, 4, 5]; try { print(numbers[10]); } catch (e) { print('Error type: ${e.runtimeType}'); print('Message: $e'); } }

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

"Error type: RangeError (index)" "Message: RangeError (index): Index out of range: index should be less than 5: 10"

Пример

Давайте явно создадим ошибку RangeError и посмотрим на её свойства, такие как message и invalidValue:

<+dart+> void main() { try { throw RangeError('Index out of bounds'); } catch (e) { if (e is RangeError) { print('Message: ${e.message}'); print('Invalid value: ${e.invalidValue}'); } } } <-dart+>

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

"Message: Index out of bounds" "Invalid value: null"

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

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