SuperAPI AI 工具集

n8n-error-handling

办公与效率

查看项目

更新于 10-15 20:05

技能介绍

用途:解决 n8n 默认行为下节点报错即中断、调用方拿不到有效信息的问题,适用于 webhook API、定时任务、队列 worker 等无人值守工作流。

主要能力:为每个易错节点(HTTP、数据库、第三方 API、文件操作等)设置 onError: 'continueErrorOutput' 并把 output(1) 接到错误处理分支;为 webhook API 配置成功与错误两条路径各自以 Respond to Webhook 结束,避免调用方超时;按失败原因映射状态码(调用方问题 4xx,自身问题 5xx),错误体使用结构化格式如 {"error":"<标识>","message":"<可读信息>"};对网络调用节点配置重试,吸收瞬时 429 与上游抖动;为无人值守工作流设置工作流级错误工作流,捕获超时、节点间崩溃与未接线节点的错误。

使用方式:节点级重试配置为 retryOnFail: true、maxTries: 3、waitBetweenTries: 5000(引擎上限 maxTries 5、waitBetweenTries 5000ms)。工作流级错误工作流通过 update_workflow 的 setWorkflowSettings.errorWorkflow 设置(n8n 2.29.0+),目标须是已发布且含活动 Error Trigger 的工作流,否则更新被拒。输入校验可用 Set 节点的 IIFE 模式,输出 valid、validationError、details、requiredSchema 供 Respond 节点消费,不要重命名。当错误路径仅状态码与消息不同时,用单个 Respond to Webhook 配合表达式计算 Response Code,而非 Switch 分叉多个 Respond。

适用场景:对外提供 API 的 webhook 工作流、定时/队列驱动的生产工作流、需要自愈瞬时失败的集成。

限制:内部一次性、仅自己查看且失败可重跑的工作流可放宽,默认 onError: 'stopWorkflow' 即可;重试引擎按任意错误重试,无按状态码过滤。具体参考文件与示例代码见原技能文档。