Skip to content

# nlohmann::basic_json::out_of_range

    class out_of_range : public exception;

This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.

Exceptions have ids 4xx (see list of out-of-range errors).

## Member functions

- what - returns explanatory string

## Member variables

- id - the id of the exception

## Examples

Example

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

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

    using json = nlohmann::json;

    int main()
    {
        try
        {
            // calling at() for an invalid index
            json j = {1, 2, 3, 4};
            j.at(4) = 10;
        }
        catch (json::out_of_range& e)
        {
            // output exception information
            std::cout << "message: " << e.what() << '\n'
                      << "exception id: " << e.id << std::endl;
        }
    }

Output:

    message: [json.exception.out_of_range.401] array index 4 is out of range
    exception id: 401

## See also

- List of out-of-range errors
- `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
- `other_error` for exceptions indicating other library errors

## Version history

- Since version 3.0.0.

Back to top