抛出(Throw)
Make 不提供 抛出错误处理指令(error handling directive)。此功能的实施正在分析和评估中。 本文介绍了替代方案和变通方法,以模拟 抛出 错误处理指令(error handling directive)。替代方案">替代方案
要有条件地抛出错误,您可以配置一个 模块,使其在操作期间可选地故意失败。一种可能性是使用 JSON > 解析 JSON(Parse JSON) 模块,配置为可选地抛出错误(本例中为 数据包验证错误): !Document image然后,您可以将以下 错误处理指令(error handling directive) 之一附加到错误处理 路由: * 强制 场景执行停止并执行回滚阶段:回滚
* 强制 场景执行停止并执行提交阶段:提交
* 停止 路由的处理:忽略
* 停止 路由的处理并将其存储在 未完成执行(incomplete executions) 队列中:中断
以下示例展示了 回滚指令的使用: !Document image
变通方法 - 使用 HTTP 模块(Module) 用例 - 如果使用 中断指令未找到记录,则在一段时间后重试。通常,当您的记录没有立即更新且您希望在自动化中稍后处理它时,这至关重要。使用此 中断指令可以简化设置复杂度。 当前障碍 - Make 不提供允许您轻松有条件地生成(抛出)错误的 模块。 为了让您更好地理解,以下是未经修改的当前设置:此 场景在 Zendesk 中搜索,如果没有找到,它不会强制抛出错误。若要再次搜索,您需要实施一个复杂的过程来保存记录。 !Document image
解决方案 - 要有条件地抛出错误,您可以将想要抛出错误的 模块替换为 HTTP 模块,然后在第二个 场景中执行搜索,使用 网络钩子将 HTTP 模块链接到第二个 场景。如果未找到结果,您可以自定义模块以抛出错误
场景(Scenario)一 - * 将想要抛出错误的 模块替换为 HTTP > 发出请求(Make a Request)模块
* 在查询参数中配置 URL,您将从自定义 Webhook 模块获取该 URL,并添加一个可选查询参数以搜索电子邮件
* 启用高级设置并勾选“将所有状态评估为错误”(evaluate all the states as errors)。
* 在该 HTTP 模块中添加 中断处理程序,并配置设置为稍后运行。
场景(Scenario)2 - 1. 设置 Webhooks > 自定义 Webhooks 作为 触发器并复制 URL,在前几步所示的 HTTP 模块中使用它。
1. 此处使用 Zendesk > 搜索用户模块,使用 HTTP 模块中的参数执行查询。启用“即使模块未返回结果也继续执行路由”(Continue the execution of the route even if the module returns no results)
1. 添加一个 路由器并创建两条 路由
1. 随后设置 Webhook 响应模块
以下示例返回结果 - 您会注意到当 Zendesk 模块执行 API 时,它不会发送任何