错误处理#
在设计流程逻辑时,良好的做法是考虑潜在错误并设置优雅的处理方法。通过错误工作流,您可以控制 n8n 如何响应工作流执行失败。
创建并设置错误工作流#
对于每个工作流,您可以在工作流设置中设置一个错误工作流。当执行失败时它会运行。这意味着您可以在工作流执行出错时发送电子邮件或 Slack 警报等操作。错误工作流必须以错误触发器节点开始。
您可以将同一个错误工作流用于多个工作流。
- 创建一个新工作流,将 Error Trigger 节点作为第一个节点
- 为工作流命名,例如
错误处理器
- 点击 保存
- 在需要使用此错误工作流的目标工作流中:
- 选择 选项
> 设置
- 在 错误工作流 中,选择您刚创建的工作流。例如,如果您使用了"错误处理器"这个名称,请选择 错误处理器
- 点击 保存 现在,当该工作流出错时,关联的错误工作流将会运行
- 选择 选项
错误数据#
Error Trigger(错误触发器)默认接收的错误数据如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
所有信息通常都会存在,除了:
execution.id
:需要执行记录保存在数据库中。如果错误发生在主工作流的触发器节点,则不会存在,因为此时工作流尚未执行。execution.url
:需要执行记录保存在数据库中。如果错误发生在主工作流的触发器节点,则不会存在,因为此时工作流尚未执行。execution.retryOf
:仅当该执行是对失败执行的重新尝试时才会存在。
如果错误是由主工作流的触发器节点(而非后续阶段)引起的,发送给错误工作流的数据会有所不同。execution{}
中的信息较少,而 trigger{}
中的信息更多:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
使用 Stop And Error 节点强制工作流执行失败#
当您创建并设置错误工作流后,n8n 会在执行失败时运行它。通常,这是由于节点设置错误或工作流内存不足等原因造成的。
您可以在工作流中添加Stop And Error节点,在您选择的情况下强制执行失败,从而触发错误工作流。