nlohmann::detail::exception Class Reference

general exception of the basic_json class More...

`#include <json.hpp>`

Inheritance diagram for nlohmann::detail::exception:
Collaboration diagram for nlohmann::detail::exception:

## Public Member Functions

const char * | what () const noexcept override
| returns the explanatory string More...

## Public Attributes

const int | id
| the id of the exception More...

## Protected Member Functions

| exception (int id_, const char *what_arg)

## Static Protected Member Functions

static std::string | name (const std::string &ename, int id_)
template<typename BasicJsonType >
static std::string | diagnostics (const BasicJsonType &leaf_element)

## Private Attributes

std::runtime_error | m
| an exception object as storage for error messages More...

## Detailed Description

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

{The following code shows how arbitrary library exceptions can be caught.,exception}

Since
  version 3.0.0

Definition at line 2642 of file json.hpp.

## Constructor & Destructor Documentation

## exception()

nlohmann::detail::exception::exception | ( | int | id_,
|  | const char * | what_arg
| ) |  |

inline protected

Definition at line 2656 of file json.hpp.

## Member Function Documentation

## diagnostics()

template<typename BasicJsonType >

static std::string nlohmann::detail::exception::diagnostics | ( | const BasicJsonType & | leaf_element | ) |

inline static protected

Definition at line 2664 of file json.hpp.

References nlohmann::detail::array, nlohmann::detail::escape(), nlohmann::detail::object, nlohmann::detail::string, and nlohmann::to_string().

Referenced by nlohmann::detail::parse_error::create(), nlohmann::detail::invalid_iterator::create(), nlohmann::detail::type_error::create(), nlohmann::detail::out_of_range::create(), and nlohmann::detail::other_error::create().

## name()

static std::string nlohmann::detail::exception::name | ( | const std::string & | ename,
|  | int | id_
| ) |  |

inline static protected

Definition at line 2658 of file json.hpp.

References nlohmann::to_string().

Referenced by nlohmann::detail::parse_error::create(), nlohmann::detail::invalid_iterator::create(), nlohmann::detail::type_error::create(), nlohmann::detail::out_of_range::create(), and nlohmann::detail::other_error::create().

## what()

const char* nlohmann::detail::exception::what | ( |  | ) | const

inline override noexcept

returns the explanatory string

Definition at line 2646 of file json.hpp.

## Member Data Documentation

## id

const int nlohmann::detail::exception::id

the id of the exception

Definition at line 2652 of file json.hpp.

## m

std::runtime_error nlohmann::detail::exception::m

private

an exception object as storage for error messages

Definition at line 2721 of file json.hpp.

The documentation for this class was generated from the following file:

- json.hpp