You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node-RED中如何捕获node-red-contrib-composer节点的MVCC_READ_CONFLICT错误?

解决Node-RED中composer节点错误无法被Catch节点捕获的问题

你猜的完全没错——这个问题根源就是node-red-contrib-composer节点的错误处理代码只调用了node.error(error.message),没有传入当前的msg对象。Node-RED的Catch节点默认只会捕获关联到具体消息对象的错误,这种不带msg的错误自然会被忽略。下面给你两种可行的解决思路:

方法一:修改composer节点源码(彻底解决)

找到node-red-contrib-composer的安装目录(一般在~/.node-red/node_modules/node-red-contrib-composer),定位到错误处理的代码段,把原来的:

.catch((error) => { node.error(error.message); });

改成:

.catch((error) => { node.error(error.message, msg); });

修改后错误会和当前msg对象绑定,你的Catch节点不用额外配置就能捕获到这个错误,后续直接用它触发其他流程即可。

方法二:调整Catch节点配置(无需改源码)

如果不想动节点源码,可以直接修改Catch节点的设置:

  1. 双击打开你的Catch节点
  2. 在「捕获来自」选项里,选择「所有节点」或者直接指定那个composer节点
  3. 勾选「捕获未关联到消息的错误」选项
  4. 保存配置并重新部署流程

这样Catch节点就能捕获到composer节点抛出的无关联错误了。之后你可以把Catch节点的输出连到Link Out节点,再在目标标签页用Link In节点接收,就能触发另一流程的执行。


内容的提问来源于stack exchange,提问作者Akshay Jindal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:52:10