Crossfire Server, Trunk
|
exception indicating access out of the defined range More...
#include <json.hpp>
Static Public Member Functions | |
template<typename BasicJsonType > | |
static out_of_range | create (int id_, const std::string &what_arg, const BasicJsonType &context) |
Private Member Functions | |
out_of_range (int id_, const char *what_arg) | |
Additional Inherited Members | |
Public Member Functions inherited from nlohmann::detail::exception | |
const char * | what () const noexcept override |
returns the explanatory string More... | |
Data Fields 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 | |
template<typename BasicJsonType > | |
static std::string | diagnostics (const BasicJsonType &leaf_element) |
static std::string | name (const std::string &ename, int id_) |
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. (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}
|
inlineprivate |
|
inlinestatic |
Definition at line 2975 of file json.hpp.
References nlohmann::detail::exception::diagnostics(), nlohmann::detail::exception::name(), and out_of_range().
Referenced by nlohmann::json_pointer< BasicJsonType >::array_index(), nlohmann::basic_json::at(), nlohmann::json_pointer< BasicJsonType >::back(), nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_entry_header_size(), nlohmann::basic_json::erase(), nlohmann::json_pointer< BasicJsonType >::get_checked(), nlohmann::json_pointer< BasicJsonType >::get_unchecked(), nlohmann::basic_json::patch(), nlohmann::json_pointer< BasicJsonType >::pop_back(), nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal(), and nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_unsigned().