mirror of
https://github.com/nlohmann/json.git
synced 2025-07-27 00:41:05 +03:00
* 🔥 consolidate documentation * ♻️ overwork std specializations * 🚚 move images files to mkdocs * ♻️ fix URLs * 🔧 tweak MkDocs configuration * 🔧 add namespaces * 📝 document deprecations * 📝 document documentation generation * 🚸 improve search * 🚸 add examples * 🚧 start adding documentation for macros * 📝 add note for https://github.com/nlohmann/json/issues/874#issuecomment-1001699139 * 📝 overwork example handling * 📝 fix Markdown tables
2.1 KiB
2.1 KiB
nlohmann::basic_json::parse_error
class parse_error : public exception;
This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, BSON, CBOR, MessagePack, UBJSON, as well as when using JSON Patch.
Member byte
holds the byte index of the last read character in the input file (see note below).
Exceptions have ids 1xx (see list of parse errors).
std::exception <|-- basic_json::exception
basic_json::exception <|-- basic_json::parse_error
basic_json::exception <|-- basic_json::invalid_iterator
basic_json::exception <|-- basic_json::type_error
basic_json::exception <|-- basic_json::out_of_range
basic_json::exception <|-- basic_json::other_error
interface std::exception {}
class basic_json::exception {
+ const int id
+ const char* what() const
}
class basic_json::parse_error #FFFF00 {
+ const std::size_t byte
}
Member functions
- what - returns explanatory string
Member variables
- id - the id of the exception
- byte - byte index of the parse error
Notes
For an input with n
bytes, 1 is the index of the first character and n+1
is the index of the terminating null byte
or the end of file. This also holds true when reading a byte vector for binary formats.
Examples
??? example
The following code shows how a `parse_error` exception can be caught.
```cpp
--8<-- "examples/parse_error.cpp"
```
Output:
```json
--8<-- "examples/parse_error.output"
```
See also
- List of parse errors
invalid_iterator
for exceptions indicating errors with iteratorstype_error
for exceptions indicating executing a member function with a wrong typeout_of_range
for exceptions indicating access out of the defined rangeother_error
for exceptions indicating other library errors
Version history
- Since version 3.0.0.