# tf.errors.FailedPreconditionError

<br />

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

Raised when some prerequisites are not met when running an operation.

Inherits From: [`OpError`](https://www.tensorflow.org/versions/r2.13/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.FailedPreconditionError`](https://www.tensorflow.org/api_docs/python/tf/errors/FailedPreconditionError)

<br />

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

This typically indicates that system is not in state to execute the operation
and requires preconditions to be met before successfully executing current
operation.

For example, this exception is commonly raised when running an operation
that reads a [`tf.Variable`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/Variable) before it has been initialized.

<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/versions/r2.13/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/versions/r2.13/api_docs/python/tf/errors/OpError#node_def) to discover information about the op. |