nlohmann::detail::out_of_range Class Reference

exception indicating access out of the defined range More...

`#include <json.hpp>`

Inheritance diagram for nlohmann::detail::out_of_range:
[legend]
Collaboration diagram for nlohmann::detail::out_of_range:
[legend]

## Static Public Member Functions

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

## Additional Inherited Members

Public Member Functions inherited from nlohmann::detail::exception
const JSON_HEDLEY_RETURNS_NON_NULL char * | what () const noexcept override
| returns the explanatory string More...
const JSON_HEDLEY_RETURNS_NON_NULL char * | what () const noexcept override
| returns the explanatory string More...
Public Attributes inherited from nlohmann::detail::exception
const int | id
| the id of the exception More...
Protected Member Functions inherited from nlohmann::detail::exception
| exception (int id_, const char *what_arg)
| exception (int id_, const char *what_arg)
Static Protected Member Functions inherited from nlohmann::detail::exception
static std::string | name (const std::string &ename, int id_)
static std::string | name (const std::string &ename, int id_)

## Detailed Description

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}

See also
  - exception for the base class of the library exceptions
  - parse_error for exceptions indicating a parse error
  - invalid_iterator for exceptions indicating errors with iterators
  - type_error for exceptions indicating executing a member function with a wrong type
  - other_error for exceptions indicating other library errors

Since
  version 3.0.0

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. (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
  - parse_error for exceptions indicating a parse error
  - invalid_iterator for exceptions indicating errors with iterators
  - type_error for exceptions indicating executing a member function with a wrong type
  - other_error for exceptions indicating other library errors

Since
  version 3.0.0

## Member Function Documentation

## create() [1/2]

static out_of_range nlohmann::detail::out_of_range::create | ( | int | id_,
|  | const std::string & | what_arg
| ) |  |

inlinestatic

## create() [2/2]

static out_of_range nlohmann::detail::out_of_range::create | ( | int | id_,
|  | const std::string & | what_arg
| ) |  |

inlinestatic

The documentation for this class was generated from the following file:

- build/_deps/json-src/include/nlohmann/json.hpp