All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Member Functions | Private Member Functions | List of all members
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:
nlohmann::detail::exception

Static Public Member Functions

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

Private Member Functions

 out_of_range (int id_, const char *what_arg)
 

Additional Inherited Members

- Public Member Functions inherited from nlohmann::detail::exception
JSON_HEDLEY_RETURNS_NON_NULL
const char * 
what () const noexceptoverride
 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)
 
- Static Protected Member Functions inherited from nlohmann::detail::exception
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

{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

Definition at line 2122 of file json.hpp.

Constructor & Destructor Documentation

nlohmann::detail::out_of_range::out_of_range ( int  id_,
const char *  what_arg 
)
inlineprivate

Definition at line 2133 of file json.hpp.

2133 : exception(id_, what_arg) {}
exception(int id_, const char *what_arg)
Definition: json.hpp:1879

Member Function Documentation

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

Definition at line 2125 of file json.hpp.

2126  {
2127  std::string w = exception::name("out_of_range", id_) + what_arg;
2128  return out_of_range(id_, w.c_str());
2129  }
out_of_range(int id_, const char *what_arg)
Definition: json.hpp:2133
static std::string name(const std::string &ename, int id_)
Definition: json.hpp:1881

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