---
title: OnExceptionCheckpoint
description: Used to save a checkpoint on exception.
canonical: >-
  https://lightning.ai/docs/pytorch/stable/optional-api/api/lightning.pytorch.callbacks.OnExceptionCheckpoint
---
# OnExceptionCheckpoint {#onexceptioncheckpoint}

### `class lightning.pytorch.callbacks.OnExceptionCheckpoint(dirpath, filename='on_exception')` {#lightning.pytorch.callbacks.OnExceptionCheckpoint}

Bases: `Checkpoint`

Used to save a checkpoint on exception.

Parameters:

*   **dirpath** (`Union`\[[`str`](https://docs.python.org/3/builtins/stdtypes.html#str "(in Python v3.15)"), [`Path`](https://docs.python.org/3/library/pathlib.html#pathlib.Path "(in Python v3.15)")\]) – directory to save the checkpoint file.
    
*   **filename** ([`str`](https://docs.python.org/3/builtins/stdtypes.html#str "(in Python v3.15)")) – checkpoint filename. This must not include the extension.
    

Raises:

[**ValueError**](https://docs.python.org/3/builtins/exceptions.html#ValueError "(in Python v3.15)") – If `filename` is empty.

Example

```python
>>> from lightning.pytorch import Trainer
>>> from lightning.pytorch.callbacks import OnExceptionCheckpoint
>>> trainer = Trainer(callbacks=[OnExceptionCheckpoint(".")])
```

#### `on_exception(trainer, *_, **__)` {#lightning.pytorch.callbacks.OnExceptionCheckpoint.on_exception}

Called when any trainer execution is interrupted by an exception.

Return type:

[`None`](https://docs.python.org/3/builtins/constants.html#None "(in Python v3.15)")

#### `teardown(trainer, *_, **__)` {#lightning.pytorch.callbacks.OnExceptionCheckpoint.teardown}

Called when fit, validate, test, predict, or tune ends.

Return type:

[`None`](https://docs.python.org/3/builtins/constants.html#None "(in Python v3.15)")

---

**Navigation**

- Parent: [Api](/docs/pytorch/2.6.6/optional-api/api.md)
