Skip to content

# nlohmann::basic_json::other_error

    class other_error : public exception;

This exception is thrown in case of errors that cannot be classified with the other exception types.

Exceptions have ids 5xx (see list of other errors).

## Member functions

- what - returns explanatory string

## Member variables

- id - the id of the exception

## Examples

Example

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

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

    using json = nlohmann::json;
    using namespace nlohmann::literals;

    int main()
    {
        try
        {
            // executing a failing JSON Patch operation
            json value = R"({
                "best_biscuit": {
                    "name": "Oreo"
                }
            })"_json;
            json patch = R"([{
                "op": "test",
                "path": "/best_biscuit/name",
                "value": "Choco Leibniz"
            }])"_json;
            value.patch(patch);
        }
        catch (json::other_error& e)
        {
            // output exception information
            std::cout << "message: " << e.what() << '\n'
                      << "exception id: " << e.id << std::endl;
        }
    }

Output:

    message: [json.exception.other_error.501] unsuccessful: {"op":"test","path":"/best_biscuit/name","value":"Choco Leibniz"}
    exception id: 501

## See also

- List of other 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
- `out_of_range` for exceptions indicating access out of the defined range

## Version history

- Since version 3.0.0.

Last update: May 1, 2022
Back to top