check 静态方法

  1. @Since("2.19")
int check(
  1. int index,
  2. int length,
  3. {Object? indexable,
  4. String? name,
  5. String? message}
)

检查index是否为可索引对象的有效索引。

如果index不是有效索引,则抛出异常。

可索引对象是指具有length和一个接受索引的操作符[](当满足0 <= index < length时)的对象。

length是可索引对象的长度。

如果提供,indexable是可索引对象。

name是索引值参数的参数名称。默认为"index",可以设置为null以在错误字符串中省略名称,如果无效的索引不是参数。

如果提供,message将包括在错误字符串中。

如果index是有效索引,则返回它。

实现

@Since("2.19")
static int check(int index, int length,
    {Object? indexable, String? name, String? message}) {
  // Comparing with `0` as receiver produces better dart2js type inference.
  if (0 > index || index >= length) {
    name ??= "index";
    throw IndexError.withLength(index, length,
        indexable: indexable, name: name, message: message);
  }
  return index;
}