Class exception

Inheritance Relationships

Base Types

  • public std::exception

  • public std::exception

Derived Types

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_)