PowerAutomate中途报错如何避免流程中断并获取错误的详细信息
在PowerAutomate中,有时候流程会因为中途某个action报错导致流程终止,这个时候我们我们其实有两个诉求:
- 避免流程中断
- 获取错误的详细信息
首先针对流程中断问题,我们可以通过配置action基于状态随后执行,如果需要多个action做错误捕捉可以将其加入控件->作用域里
像上图中,我们将逻辑内容体放在了try作用域,失败后执行动作放在cath作用域,这个时候,如果一旦try作用域里某个action发送错误时,将如执行catch作用域中的内容,否则跳过不执行,
在catch作用域中,此时如果想要捕捉错误信息,可以通过表达式“result('try')” 来获取try作用域中所有action的执行情况,然后通过对result内容解析获取具体的action错误消息,有这边示例中只有一个action,
因此示例中的表达式为:
first(result('try'))?['outputs']?['body']?['error']?['message']
这种方式确实可以获取错误信息,但是在某些情况下并不能获取到实际的action错误信息,比如下图这种由条件分支包了一层的action,如果“列表行”操作执行失败报错,
catch作用域中并不能获取到action实际的错误信息,而是由Condition抛出的错误信息“ActionFailed. An action failed. No dependent actions succeeded.”
这个时候如果想要获取的实际的action错误信息,可以提前设置一个全局变量“ErrorMessage”,在有可能报错的action后面配置随后执行给变量“ErrorMessage”赋值,使用表达式
actions('列表行')?['outputs']?['body']?['error']?['message']
如下图,注意此时catch不再是基于状态随后执行,在catch中可以基于变量ErrorMessage是否有值,来判断是否需要将错误信息发送给相关用户
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~