Node-Red:使用Catch Error节点捕获HTTP 401异常问题
Request节点401状态码无法被Catch Error捕获的解决办法
问题根源
n8n的Request节点默认把HTTP 4xx/5xx这类状态码当成有效响应,不会触发错误抛出,所以Catch Error节点抓不到这类情况。
快速解决
- 打开Request节点的设置面板,找到「错误处理」区域
- 勾选「HTTP错误时抛出异常」(英文界面为
Throw Error on HTTP Error) - 保存配置后重新运行流程,401这类HTTP错误就能被Catch Error节点捕获了
进阶控制方案
如果需要自定义错误判断逻辑,可以添加Function节点手动处理:
// 判断响应状态码是否为错误码 if ($response.statusCode >= 400) { throw new Error(`请求失败:${$response.statusCode} ${$response.statusMessage}`); } // 正常响应则返回数据 return $response;
内容的提问来源于stack exchange,提问作者M.mhr
相关产品推荐
相关产品推荐

