错误处理器(error handler)是在Make.com场景执行过程中发生错误时处理该错误的方式。使用错误处理器可提升场景的稳定性和灵活性。
错误处理器共分为5种类型,可根据具体发生情况设置对应的处理逻辑。例如在通过API自动发布推文或博客时若出现API错误,即可启用错误处理器。
请先参考下图,在场景状态中若模块发生错误,可通过添加错误处理器


| 选项 | 功能 | 适用场景 |
| 中断 | 立即中止场景 | 在数据完整性至关重要的操作中,发生错误时终止执行。 |
| 提交 | 先前操作已完成,错误后操作中止 | 需保留错误发生前操作结果的情况。 |
| 忽略 | 忽略错误并执行后续操作 | 当设计需确保错误不影响整个工作流时。 |
| 恢复 | 发生错误时重试 | 当可能发生临时性错误时。 |
| 回滚 | 取消所有操作并恢复到原始状态 | 操作基于事务处理,且发生错误时需取消整个操作时。 |
1. 中断
- 作用
- 发生错误时立即中止场景执行。
- 所有正在执行的操作均终止,且不再从发生错误的环节继续执行。
- 使用场景
- 因致命错误导致无法继续执行场景时。
-
数据完整性至关重要,必须在发生错误时终止执行。
- 例如:金融交易、数据库更新等场景中发生错误时终止执行。
- 示例
- 在更新客户订单数据时发生错误,为防止保存错误数据而中止场景。
2. 提交
- 作用
- 错误发生前执行的所有操作均**正常完成(提交)**。
- 错误发生后的操作不予执行,先前操作保持不变。
- 适用场景
- 需要保留前阶段操作结果的情形。
-
即使发生错误,仍需确保已成功处理的数据被保存。
- 示例:邮件发送后,即使数据库更新出错,邮件状态仍保持不变。
- 示例
- 客户邮件发送后,若在数据库存储过程中发生错误,已发送的邮件操作仍需保留。
3. 忽略
- 作用
- 忽略错误并继续执行场景。
- 跳过发生错误的操作,执行后续操作。
- 适用场景
- 当需要无论是否发生错误都继续执行剩余任务时。
- 非关键任务
发生错误时,整个工作流不应受到影响。
- 示例:日志存储任务出错时,核心流程仍需执行。
- 示例
- 在社交媒体发布内容时,即使部分平台出现错误,仍需确保其他平台正常上传内容。
4. 恢复
- 作用
- 在发生错误的模块中尝试重试。
- 等待设定时间或直至错误条件消除,可重复尝试设定次数。
- 适用场景
- 当错误可能由临时问题(如网络故障、API限制)引发时。
-
适用于可重试的有效操作场景。
- 示例:API请求失败时稍后重试。
- 示例
- 向外部API传输数据时发生单次网络错误,但通过重试可能成功的情况。
有关resume的详细用法可在此处查阅。
5. 回滚
- 作用
- 将状态恢复至错误发生前的状态(**撤销**)。
- 已执行的操作也将被撤销,恢复至原始状态。
- 适用场景
- 在基于事务的操作中需要保证数据完整性时。
-
错误发生时需撤销先前处理的操作。
- 示例:银行汇款中若部分步骤失败,则取消整个汇款操作。
- 示例
- 在更新客户支付信息时发生错误,需回滚已反映在客户账户中的支付数据。
总结
| 选项 | 角色 | 使用场景 |
| 中断 | 立即中止场景 | 在数据完整性至关重要的操作中,发生错误时终止执行。 |
| 提交 | 先前操作已完成,错误后操作中止 | 需保留错误发生前操作结果的情况。 |
| 忽略 | 忽略错误并执行后续操作 | 当设计需确保错误不影响整个工作流时。 |
| 恢复 | 发生错误时重试 | 当可能发生临时性错误时。 |
| 回滚 | 取消所有操作并恢复到原始状态 | 操作基于事务处理,且发生错误时需取消整个操作时。 |
补充提示
- 设置错误处理程序时,请综合考虑操作重要性与数据完整性。
- 配置日志记录功能,以便在发生错误时能准确定位原因。
各错误处理选项可根据需求组合使用。
