Skip to content

捕获 (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"
}

应用场景

  • 错误处理和恢复
  • 错误日志记录
  • 错误通知和报警
  • 流程异常处理

注意事项

  • 捕获节点只能捕获同一流程中的错误
  • 如果没有捕获节点,错误会显示在调试面板
  • 可以配置捕获特定节点的错误,提高处理精度

蜀ICP备2025139593号