本页目录

抛出(Throw)

本文介绍用于模拟 抛出(Throw)错误处理指令的替代方案与变通方法。

替代方案

要有条件地抛出错误,您可以配置一个模块,使其在操作期间可选地故意失败。一种可能性是使用 JSON > 解析 JSON(Parse JSON) 模块,配置为可选地抛出错误(本例中为 BundleValidationError):

Document image

然后,您可以将以下错误处理指令之一附加到错误处理路由,以:

  • 强制场景执行停止并执行回滚阶段:回滚(Rollback)
  • 强制场景执行停止并执行提交阶段:提交(Commit)
  • 停止路由的处理:跳过(Skip)
  • 停止路由的处理并将其存储在未完成执行队列中:重试(Retry)

以下示例展示了回滚(Rollback)指令的使用:

Document image

变通方法 - 使用 HTTP 模块

用例 - 如果使用重试(Retry)指令未找到记录,则在一段时间后重试。通常,当您的记录没有立即更新且您希望在自动化中稍后处理它时,这至关重要。使用此重试(Retry)指令可以简化设置复杂度。

当前障碍 - Make 不提供允许您轻松有条件地生成(抛出)错误的模块。

为了让您更好地理解,以下是未经修改的当前设置:此场景在 Zendesk 中搜索,如果没有找到,它不会强制抛出错误。若要再次搜索,您需要实施一个复杂的过程来保存记录。

Document image

解决方案 - 要有条件地抛出错误,您可以将想要抛出错误的模块替换为 HTTP 模块,然后在第二个场景中执行搜索,使用 Webhook 将 HTTP 模块链接到第二个场景。如果未找到结果,您可以自定义模块以抛出错误

场景一 -

  • 将想要抛出错误的模块替换为 HTTP > 发出请求(Make a Request)模块
  • 在查询参数中配置 URL,您将从自定义 Webhook 模块获取该 URL,并添加一个可选查询参数以搜索电子邮件
  • 启用高级设置并勾选“将所有状态评估为错误”(evaluate all the states as errors)。

Document image

  • 在该 HTTP 模块中添加重试(Retry)处理程序,并配置设置为稍后运行。

Document image

场景 2 -

  1. 设置 Webhooks > 自定义 Webhooks 作为触发器并复制 URL,在前几步所示的 HTTP 模块中使用它。
  2. 此处使用 Zendesk > 搜索用户模块,使用 HTTP 模块中的参数执行查询。启用“即使模块未返回结果也继续执行路由”(Continue the execution of the route even if the module returns no results)
  3. 添加一个路由器并创建两条路由
  4. 随后设置 Webhook 响应模块

以下示例返回结果 - 您会注意到当 Zendesk 模块执行 API 时,它不会发送任何错误消息,但在操作中,我们使用 HTTP 模块复制该错误。

Document image

本文包含联盟推广链接。通过这些链接注册不会增加你的费用,但会帮助我们持续产出高质量的免费内容。

理解概念后,先选低风险流程

如果这个概念对应你的真实重复任务,可以先从可人工复核的小流程开始尝试。价格、额度和模块限制请以官方页面为准。

✓ 先跑低风险流程✓ 保留人工复核✓ 价格和额度以官方页面为准
选好流程后打开 Make