Класс 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:
Результат выполнения кода:
"Message: Index out of bounds"
"Invalid value: null"
Смотрите также
-
класс
ArgumentError,
который является родителем для RangeError -
метод
index,
который возвращает неверный индекс -
метод
try,
который используется для перехвата ошибок -
метод
catch,
который позволяет обработать исключение