Метод checkValidRange
int checkValidRange(Проверка, что диапазон представляет срез индексируемого объекта.
Выбрасывает исключение, если диапазон не является допустимым для индексируемого объекта с заданным length. Диапазон является допустимым для индексируемого объекта с заданным length
если 0 <= [start] <= [end] <= [length]. Значение end из null считается эквивалентным length.
Значения startName и endName по умолчанию равны "start" и "end", соответственно.
Возвращает фактическое значение end, которое равно length если end является null, и end в противном случае.
Исходный код
static int checkValidRange(int start, int end, int length,
[String startName, String endName, String message]) {
// Comparing with `0` as receiver produces better dart2js type inference.
// Ditto `start > end` below.
if (0 > start || start > length) {
if (startName == null) startName = "start";
throw new RangeError.range(start, 0, length, startName, message);
}
if (end != null) {
if (start > end || end > length) {
if (endName == null) endName = "end";
throw new RangeError.range(end, start, length, endName, message);
}
return end;
}
return length;
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/RangeError/checkValidRange.html