class exception : public std::exception;
This class is an extension of std::exception
objects with a member id
for exception ids. It is used as the base class for all exceptions thrown by the basic_json
class. This class can hence be used as “wildcard” to catch exceptions, see example below.
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 #FFFF00 { + const int id + const char* what() const } class basic_json::parse_error { + const std::size_t byte }
Subclasses:
parse_error
for exceptions indicating a parse errorinvalid_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??? example
The following code shows how arbitrary library exceptions can be caught. ```cpp --8<-- "examples/exception.cpp" ``` Output: ```json --8<-- "examples/exception.output" ```