Skip to content

# nlohmann::basic_json::type_error

    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 (see list of type errors).

## Member functions

- what - returns explanatory string

## Member variables

- id - the id of the exception

## Examples

Example

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

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

    using json = nlohmann::json;

    int main()
    {
        try
        {
            // 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: " << e.id << std::endl;
        }
    }

Output:

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

## See also

- List of type errors
- `parse_error` for exceptions indicating a parse error
- `invalid_iterator` for exceptions indicating errors with iterators
- `out_of_range` for exceptions indicating access out of the defined range
- `other_error` for exceptions indicating other library errors

## Version history

- Since version 3.0.0.

Back to top