捕获 (catch)
捕获同一流程中抛出的错误。
输入
无输入。
输出
包含错误信息的消息对象。
详细说明
捕获节点可以捕获同一流程中其他节点抛出的错误。
当节点调用 node.error()
或抛出未捕获的异常时,捕获节点会接收到错误信息。
配置选项
- 捕获错误来源: 选择要监控的节点
- 所有节点
- 选定的节点
输出消息格式
javascript
msg = {
error: {
message: "错误描述",
source: {
id: "节点ID",
type: "节点类型",
name: "节点名称"
}
},
// 原始消息(如果有)
payload: "原始载荷",
_msgid: "abc123"
}
错误属性
- message: 错误消息文本
- source: 抛出错误的节点信息
- id: 节点ID
- type: 节点类型
- name: 节点名称
示例
捕获函数节点错误:
javascript
// 函数节点中: node.error("数据验证失败", msg)
msg = {
error: {
message: "数据验证失败",
source: {
id: "func123",
type: "function",
name: "数据验证"
}
},
payload: "原始数据",
_msgid: "def456"
}
捕获HTTP请求错误:
javascript
// HTTP请求失败时
msg = {
error: {
message: "连接超时",
source: {
id: "http123",
type: "http request",
name: "API调用"
}
},
payload: {url: "http://api.example.com"},
_msgid: "ghi789"
}
应用场景
- 错误处理和恢复
- 错误日志记录
- 错误通知和报警
- 流程异常处理
注意事项
- 捕获节点只能捕获同一流程中的错误
- 如果没有捕获节点,错误会显示在调试面板
- 可以配置捕获特定节点的错误,提高处理精度