Skip to content

nlohmann::basic_json::invalid_iterator

class invalid_iterator : public exception;

This exception is thrown if iterators passed to a library function do not match the expected semantics.

Exceptions have ids 2xx (see list of iterator errors).

uml diagram

Member functions

  • what - returns explanatory string

Member variables

  • id - the id of the exception

Examples

Example

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

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

using json = nlohmann::json;

int main()
{
    try
    {
        // calling iterator::key() on non-object iterator
        json j = "string";
        json::iterator it = j.begin();
        auto k = it.key();
    }
    catch (const json::invalid_iterator& e)
    {
        // output exception information
        std::cout << "message: " << e.what() << '\n'
                  << "exception id: " << e.id << std::endl;
    }
}

Output:

message: [json.exception.invalid_iterator.207] cannot use key() for non-object iterators
exception id: 207

See also

Version history

  • Since version 3.0.0.

Last update: May 1, 2022