Class exception
Defined in File json.hpp
Inheritance Relationships
Base Types
public std::exception
public std::exception
Derived Types
public nlohmann::detail::invalid_iterator
(Class invalid_iterator)public nlohmann::detail::invalid_iterator
(Class invalid_iterator)public nlohmann::detail::other_error
(Class other_error)public nlohmann::detail::other_error
(Class other_error)public nlohmann::detail::out_of_range
(Class out_of_range)public nlohmann::detail::out_of_range
(Class out_of_range)public nlohmann::detail::parse_error
(Class parse_error)public nlohmann::detail::parse_error
(Class parse_error)public nlohmann::detail::type_error
(Class type_error)public nlohmann::detail::type_error
(Class type_error)
Class Documentation
-
class exception : public std::exception, public std::exception
general exception of the basic_json class
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.Subclasses:
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
out_of_range for exceptions indicating access out of the defined range
other_error for exceptions indicating other library errors
@liveexample{The following code shows how arbitrary library exceptions can be caught.,exception}
- Since
version 3.0.0
Subclassed by nlohmann::detail::invalid_iterator, nlohmann::detail::invalid_iterator, nlohmann::detail::other_error, nlohmann::detail::other_error, nlohmann::detail::out_of_range, nlohmann::detail::out_of_range, nlohmann::detail::parse_error, nlohmann::detail::parse_error, nlohmann::detail::type_error, nlohmann::detail::type_error
Public Functions
- inline JSON_HEDLEY_RETURNS_NON_NULL const char * what () const noexcept override
returns the explanatory string
- inline JSON_HEDLEY_RETURNS_NON_NULL const char * what () const noexcept override
returns the explanatory string
Public Members
-
const int id
the id of the exception
Protected Functions
-
inline exception(int id_, const char *what_arg)
-
inline exception(int id_, const char *what_arg)
Protected Static Functions
-
static inline std::string name(const std::string &ename, int id_)
-
static inline std::string name(const std::string &ename, int id_)