> ## Documentation Index
> Fetch the complete documentation index at: https://enterprise-docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 预定义异常处理逻辑

以下四种类型的节点提供应对异常情况的预处理逻辑编排能力：

* [LLM](../node/llm)
* [HTTP](../node/http-request)
* [代码](../node/code)
* [工具](../node/tools)

异常处理机制提供以下三种预定义编排逻辑选项：

• **无**：不处理异常，直接抛出节点的报错信息并中断整体流程。

• **默认值**：允许开发者预定义异常信息。异常发生后，使用预定义的值替代原节点内置的异常输出信息。

• **异常分支**：发生异常后，执行预编排的异常分支。

![Error handling](https://assets-docs.dify.ai/2024/12/6e2655949889d4d162945d840d698649.png)

### 处理逻辑：无

节点异常处理机制的默认选项。如果当前节点的运行状态超时或遇到错误，则直接抛出节点内置的报错信息，中断所有流程，工作流应用记录为运行失败。

### 处理逻辑：默认值

允许开发者通过默认值编辑器自定义节点的报错输出信息，类似编程中常见的单步调试方法，为应用的调试过程提供更加清晰的说明。

例如：

* 对于 `object` 和 `array` 类型，系统提供直观的 `JSON` 编辑器
* 对于 `number` 和 `string` 类型，则提供对应的类型编辑器。

当节点运行失败时，流程会自动使用开发者预设的默认值替代原节点输出的异常信息，确保流程不中断。更加清晰的报错信息能够提升故障的处理效率，让开发者能够专注于优化应用的流程设计。

> 预设默认值的数据结构类型与节点的输出变量相一致。例如在代码节点中，设置节点的输出变量为 `array[number]` 数据类型，则默认值的数据类型也同样为 `array[number]` 数据类型。

![Error handling: default value](https://assets-docs.dify.ai/2024/12/e9e5e757090679243e0c9976093c7e6c.png)

### 处理逻辑：异常分支

如果当前节点运行异常，则触发预设的下游分支。选择该处理逻辑后，将为当前节点提供新的连线位，开发者可以在画布上继续编排接下来的运行流程，或点击节点详情右下角添加下游节点。例如连接邮件工具节点发送异常信息。

> 异常分支以橙色线条高亮显示。

![](https://assets-docs.dify.ai/2024/12/e5ea1af947818bd9e27cab3042c1c4f3.png)

一个常见的编排策略是在异常分支内引入应对错误情况的处理节点，将修正后的内容通过变量聚合节点链接至原分支，汇总输出结果。

#### 异常变量

在节点的异常处理机制中选择**默认值**或**异常分支**逻辑选项后，当前节点在遇到异常情况时将通过 `error_type` 和 `error_message` 异常变量将报错信息传递给下游节点。

| 变量名称            | 功能描述                                                        |
| --------------- | ----------------------------------------------------------- |
| `error_type`    | 错误类型。不同类型的节点有着不同的[错误类型](./error-type)，开发者可以根据不同的错误标识编排对应方案。 |
| `error_message` | 错误信息，异常节点输出的具体故障信息。开发者可以传递给下游的 LLM 节点进行修复，或连接邮箱工具推送信息。      |

<CardGroup cols="2">
  <Card title="编辑此页面" icon="pen-to-square" href="https://github.com/langgenius/dify-docs-mintlify/edit/main/zh-hans/guides/workflow/error-handling/predefined-nodes-failure-logic.mdx">
    通过直接提交修改来帮助改进文档内容
  </Card>

  <Card title="提交问题" icon="github" href="https://github.com/langgenius/dify-docs-mintlify/issues/new?title=文档问题%3A%20fined-nodes-failure-lo&body=%23%23%20问题描述%0A%3C%21--%20请简要描述您发现的问题%20--%3E%0A%0A%23%23%20页面链接%0Ahttps%3A%2F%2Fgithub.com%2Flanggenius%2Fdify-docs-mintlify%2Fblob%2Fmain%2Fzh-hans/guides/workflow/error-handling%2Fpredefined-nodes-failure-logic.mdx%0A%0A%23%23%20建议修改%0A%3C%21--%20如果有具体的修改建议，请在此说明%20--%3E%0A%0A%3C%21--%20感谢您对文档质量的关注！%20--%3E">
    发现错误或有改进建议？请提交问题反馈
  </Card>
</CardGroup>
