Class out_of_range

Inheritance Relationships

Base Types

Class Documentation

class out_of_range : public nlohmann::detail::exception, public nlohmann::detail::exception

exception indicating access out of the defined range

This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.

Exceptions have ids 4xx.

name / id

example message

description

json.exception.out_of_range.401

array index 3 is out of range

The provided array index i is larger than size-1.

json.exception.out_of_range.402

array index ‘-’ (3) is out of range

The special array index - in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it.

json.exception.out_of_range.403

key ‘foo’ not found

The provided key was not found in the JSON object.

json.exception.out_of_range.404

unresolved reference token ‘foo’

A reference token in a JSON Pointer could not be resolved.

json.exception.out_of_range.405

JSON pointer has no parent

The JSON Patch operations ‘remove’ and ‘add’ can not be applied to the root element of the JSON value.

json.exception.out_of_range.406

number overflow parsing ‘10E1000’

A parsed number could not be stored as without changing it to NaN or INF.

json.exception.out_of_range.407

number overflow serializing ‘9223372036854775808’

UBJSON and BSON only support integer numbers up to 9223372036854775807.

json.exception.out_of_range.408

excessive array size: 8658170730974374167

The size (following #) of an UBJSON array or object exceeds the maximal capacity.

json.exception.out_of_range.409

BSON key cannot contain code point U+0000 (at byte 2)

Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string

@liveexample{The following code shows how an out_of_range exception can be caught.,out_of_range}

This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.

See also

- exception for the base class of the library exceptions

See also

- parse_error for exceptions indicating a parse error

See also

- invalid_iterator for exceptions indicating errors with iterators

See also

- type_error for exceptions indicating executing a member function with a wrong type

See also

- other_error for exceptions indicating other library errors

Since

version 3.0.0

Exceptions have ids 4xx.

name / id

example message

description

json.exception.out_of_range.401

array index 3 is out of range

The provided array index i is larger than size-1.

json.exception.out_of_range.402

array index ‘-’ (3) is out of range

The special array index - in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it.

json.exception.out_of_range.403

key ‘foo’ not found

The provided key was not found in the JSON object.

json.exception.out_of_range.404

unresolved reference token ‘foo’

A reference token in a JSON Pointer could not be resolved.

json.exception.out_of_range.405

JSON pointer has no parent

The JSON Patch operations ‘remove’ and ‘add’ can not be applied to the root element of the JSON value.

json.exception.out_of_range.406

number overflow parsing ‘10E1000’

A parsed number could not be stored as without changing it to NaN or INF.

json.exception.out_of_range.407

number overflow serializing ‘9223372036854775808’

UBJSON and BSON only support integer numbers up to 9223372036854775807. (until version 3.8.0)

json.exception.out_of_range.408

excessive array size: 8658170730974374167

The size (following #) of an UBJSON array or object exceeds the maximal capacity.

json.exception.out_of_range.409

BSON key cannot contain code point U+0000 (at byte 2)

Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string

@liveexample{The following code shows how an out_of_range exception can be caught.,out_of_range}

See also

- exception for the base class of the library exceptions

See also

- parse_error for exceptions indicating a parse error

See also

- invalid_iterator for exceptions indicating errors with iterators

See also

- type_error for exceptions indicating executing a member function with a wrong type

See also

- other_error for exceptions indicating other library errors

Since

version 3.0.0

Public Static Functions

static inline out_of_range create(int id_, const std::string &what_arg)
static inline out_of_range create(int id_, const std::string &what_arg)