Skip to content


class type_error : public exception;

This exception is thrown in case of a type error; that is, a library function is executed on a JSON value whose type does not match the expected semantics.

Exceptions have ids 3xx.

uml diagram

Member functions

  • what - returns explanatory string

Member variables

  • id - the id of the exception



The following code shows how a type_error exception can be caught.

#include <iostream>
#include <nlohmann/json.hpp>

using json = nlohmann::json;

int main()
        // calling push_back() on a string value
        json j = "string";
        j.push_back("another string");
    catch (json::type_error& e)
        // output exception information
        std::cout << "message: " << e.what() << '\n'
                  << "exception id: " << << std::endl;


message: [json.exception.type_error.308] cannot use push_back() with string
exception id: 308

Version history

  • Since version 3.0.0.