# Try / Catch (/docs/workflows/reference/category/controlFlow/tryCatchGroup)

> For the complete documentation index, see [llms.txt](https://docs.tandemcx.ai/llms.txt). Any page on this site can be fetched as Markdown by appending `.md` to its URL.

Wrap a block of nodes so any unhandled failure inside routes to one shared recovery path.

Try / Catch is a container. Drop nodes inside it and wire the `try` exit to the first one. If a node inside takes an error or invalid input exit that nothing inside the group handles, the flow jumps to the `catch` exit instead of ending. A node that wires its own `fallback` keeps it — local handling always wins over the group. In the catch branch, `sys.error.node`, `sys.error.exit`, and `sys.error.message` tell you what failed. Turn on "Catch every unhandled exit" to also catch outcomes like an unwired timeout.

**Category:** Control Flow  
**Provider:** Core  
**Latest version:** 1.0.0

## Fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| Catch every unhandled exit (`catchAllExits`) | boolean | No | Off, the group catches an unhandled error or invalid input from a node inside it. On, it also catches unhandled outcomes like a timeout or a no-match, which would otherwise end the workflow. |

## Exits

- `try` (required)
- `catch` (required)
- `invalidInput` (system)
- `fallback` (system)

System exits (auto-injected, hidden when unwired): `invalidInput`, `fallback`.
