# Throw exception

The Throw Exception action node is used to throw custom exceptions when running an action. [Catch Exception](https://docs.appfarm.io/library/action-nodes/catch-exception) can catch and handle these custom exceptions to facilitate accurate and effective error handling.

### Usage

There are several valuable use cases for the Throw Exception action node:

* **Data validation:** When handling invalid data from form submissions or data received from external endpoints.
* **Improved error messages:** When an error occurs, throwing a custom exception allows you to deliver the user clear and actionable error messages.
* **Improved logging and debugging:** For logging and debugging, throwing a custom exception can provide more specific and detailed information. This is especially useful with an [event log setup](https://docs.appfarm.io/how-to/logic-and-flow/event-log-design).

### Properties

<table><thead><tr><th width="213">Property</th><th>Description</th></tr></thead><tbody><tr><td><strong>Message</strong></td><td>Description of the thrown error.</td></tr><tr><td><strong>Custom Code</strong></td><td>Throw a custom error code to catch this specific error with a Catch Exception action node.</td></tr></tbody></table>
