forked from Research/WhisperCom
Dominik Meyer
cc002ebfbb
git-subtree-dir: libs/json git-subtree-split: f42a74b8f53cc308647123d49d33d1c8122e3f42
1.7 KiB
1.7 KiB
basic_json::exception
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
Member functions
- what - returns explanatory string
Member variables
- id - the id of the exception
Example
??? example
The following code shows how arbitrary library exceptions can be caught.
```cpp
--8<-- "examples/exception.cpp"
```
Output:
```json
--8<-- "examples/exception.output"
```
Version history
- Since version 3.0.0.