<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.21.0/tensorflow/python/framework/errors_impl.py#L417-L434) |

Raised when an operation iterates past the valid range.

Inherits From: [`OpError`](https://www.tensorflow.org/api_docs/python/tf/errors/OpError)

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.errors.OutOfRangeError`](https://www.tensorflow.org/api_docs/python/tf/errors/OutOfRangeError)

<br />

    tf.errors.OutOfRangeError(
        node_def, op, message, *args
    )

Unlike `InvalidArgumentError`, this error indicates a problem may be fixed if
the system state changes. For example, if a list grows and the operation is
now within the valid range. `OutOfRangeError` overlaps with
`FailedPreconditionError` and should be preferred as the more specific error
when iterating or accessing a range.

For example, iterating a TF dataset past the last item in the dataset will
raise this error.

<br />

<br />

<br />

| ## Attributes ||
|---|---|
| `error_code` | The integer error code that describes the error. |
| `experimental_payloads` | A dictionary describing the details of the error. |
| `message` | The error message that describes the error. |
| `node_def` | The `NodeDef` proto representing the op that failed. |
| `op` | The operation that failed, if known. <br /> > [!NOTE] > **Note:** If the failed op was synthesized at runtime, e.g. a `Send` or `Recv` op, there will be no corresponding [`tf.Operation`](https://www.tensorflow.org/api_docs/python/tf/Operation) object. In that case, this will return `None`, and you should instead use the [`tf.errors.OpError.node_def`](https://www.tensorflow.org/api_docs/python/tf/errors/OpError#node_def) to discover information about the op. |