- 概述
- 应用程序事件
- 流程图生成器
- 标注
- 复杂场景
- 凭据
- Data Service
- 表单
- FTP
- IPC
- Automation Ops 管道
- 暂留
- 系统
- 发行说明
- 项目兼容性
- 受支持的字符编码
- “正则表达式构建器”向导
- 添加数据列
- 添加数据行
- 添加日志字段
- 加减日期
- 添加事务项目
- 添加队列项目
- 将项目附加至集合
- 将项目附加至列表
- 附加行
- 提示音
- 中断/退出循环
- 浏览文件
- 浏览文件夹
- 构建集合
- 构建数据表
- 批量添加队列项目
- 更改文本大小写
- 更改类型
- 检查 False
- 检查 True
- 清除数据表
- 从集合到数据表
- 注释
- 压缩文件/Zip 文件
- 复制文件
- 复制文件夹
- 合并文本
- 注释掉/禁用的活动
- 继续/跳过当前
- 创建文件
- 创建文件夹
- 创建列表
- 自定义输入
- 删除
- 删除文件
- 删除文件夹
- 删除存储文件
- 删除队列项目
- 禁用本地触发器
- Do While 循环
- 从 URL 下载文件
- 下载存储文件
- 启用本地触发器
- 评估业务规则
- 存在于集合中
- 提取/解压缩文件
- 从文本中提取日期和时间
- 提取文本
- 文件更改触发器
- 文件已存在
- 筛选集合
- 筛选数据表
- 文件夹存在
- 遍历循环
- 适用于文件夹中的每个文件
- 文件更改触发器 v3
- 查找和替换
- 查找匹配模式
- 对于文件夹中的每个文件夹
- 对于数据表中的每一行
- 将日期格式设置为文本
- 为值添加格式
- 从文本中生成数据表
- 获取资产
- 获取凭据/获取 Orchestrator 凭据
- 获取当前作业信息
- 获取环境文件夹
- 获取环境变量
- 获取文件信息
- 获取文件夹信息
- 获取作业
- 获取进程
- 获取行项目
- 获取密码
- 获取事务项目
- 获取用户名/密码
- 获取队列项目
- 全局变量更改触发器
- 输入对话框
- 调用代码
- 调用 COM 方法
- 调用 PowerShell
- 调用流程
- 调用 VBScript
- 调用工作流文件
- 是否为文本匹配
- 联接数据表
- 终止进程
- 启动工作流交互
- 列出存储文件
- 日志消息
- 查找数据表
- 手动触发器
- 合并集合
- 合并数据表
- 消息框
- 修改日期
- 修改文本
- 移动文件
- 移动文件夹
- 多重分配
- 向队列新增项目
- 通知全局变量已更改
- Orchestrator HTTP 请求
- 输出数据表
- 并行
- 并行的遍历循环
- 存在路径
- 推迟事务项目
- 流程终止触发器
- 流程启动触发器
- 流程跟踪作用域
- 发出警示
- 读取列表项目
- 读取文本文件
- 读取存储文本
- 删除数据列
- 删除数据行
- 删除重复行
- 从集合中删除
- 删除日志字段
- 替换匹配模式
- 重复次数
- 重复触发器
- 重命名文件
- 重命名文件夹
- 报告状态
- 重置计时器
- 恢复计时器
- 重试作用域
- 返回
- 运行本地触发器
- 运行代理
- 运行作业
- 运行并行流程
- 设置资产
- 发送电子邮件通知
- 设置凭据
- 设置环境变量
- 设置密码
- 设置任务状态
- 设置追踪状态
- 设置事务进度
- 设置事务状态
- 应停止
- 拆分文本
- 数据表排序
- 启动计时器
- 开始作业
- 停止作业
- 停止本地触发器
- 停止计时器
- 左侧/右侧的文本
- 要大写/小写的文本
- 时间触发器
- 触发器作用域
- 跟踪对象
- 超时作用域
- 更新行项目
- 更新列表项目
- 上传存储文件
- 等待下载
- 等待队列项目
- 先条件循环
- 工作流占位符
- 写入存储文本
- 写入文本文件
- 添加数据行
- AddQueueItem
- 添加事务项目
- 附加行
- BulkAddQueueItems
- 清除数据表
- 压缩 Zip 文件
- 复制文件
- 创建文件
- 创建文件夹
- 删除文件或文件夹
- 删除队列项目
- 删除存储文件
- 下载存储文件
- 提取解压缩文件
- 筛选数据表
- 获取资产
- 获取凭据
- GetJobs
- 获取队列项目
- GetQueueItems
- 获取本地路径的资源
- 获取行项目
- 获取事务项目
- 调用流程
- 联接数据表
- 列出存储文件
- 查找数据表
- 合并数据表
- 移动文件
- Orchestrator HTTP 请求
- OutputDataTable
- 存在路径
- 推迟事务项目
- 读取存储文本
- 读取文本文件
- 删除数据列
- 删除重复行
- 替换
- 设置资产
- 设置凭据
- SetTransactionProgress
- 设置事务状态
- 数据表排序
- 开始作业
- 停止作业
- 更新行项目
- 上传存储文件
- 等待队列项目
- 写入存储文本
- 写入文本文件
- 测试
- 发行说明
- 关于“测试”活动包
- 项目兼容性
- 项目设置
- Address
- AddTestDataQueueItem
- AttachDocument
- BulkAddTestDataQueueItems
- DeleteTestDataQueueItems
- GetTestDataQueueItem
- GetTestDataQueueItems
- GivenName
- LastName
- RandomDate
- RandomNumber
- RandomString
- RandomValue
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- VerifyExpression
- VerifyExpressionWithOperator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- VerifyRange
- Workflow Foundation

工作流活动
Try Catch 异常处理
System.Activities.Statements.TryCatch
描述
在特定序列或活动中捕获指定的异常类型,并显示错误通知或关闭该通知,然后继续执行工作流。
“Try Catch 异常处理”活动中可以使用的“Catch 异常”数量没有限制。此活动要求至少添加一个捕获物。
项目兼容性
Windows - 旧版 | Windows | 跨平台
配置
活动主体包含以下三个字段:
-
“Try”- 执行的有可能抛出错误的活动。
-
“Catches”- 发生错误时执行的一个活动或一组活动。
- “异常” - 要查找的异常类型。您可以添加多个异常。
-
Finally - The activity or set of activities to be performed after the Try and Catches blocks are executed. This section is executed only when no exceptions are thrown or when an error occurs and is caught in the Catches section.

- 如果“尝试”部分包含某个活动,并且“出错时继续”属性的值为“True”,则系统在执行项目时不会捕获任何错误。
- The Try Catch activity does not catch fatal exceptions such as:
- FatalException
- OutOfMemoryException
- ThreadAbortException
- FatalInternalException
属性
常见
- “显示名称”- 活动的显示名称。
其他
- “私有”- 选中后将不再以“Verbose”级别记录变量和参数的值。
备注:
按“Ctrl + T”可将所选活动置于“Try Catch 异常处理”活动的“Try”部分。
“Try Catch 异常处理”活动使用示例
为更好地了解“Try Catch 异常处理”活动的重要性,我们创建了一个自动化流程,以从随机名称生成器网站收集多个名称,并将它们写入 Excel 电子表格。
出于技术限制,如果异常发生在调用的工作流中,则 Try Catch 异常处理方案中报告的异常来源可能会有所不同。
我们使用“构建数据表”活动创建用于存储所收集名称的表格。然后调用其他工作流读取网页数据。最后,使用“Excel 应用程序作用域”活动将收集的信息写入 Excel 文件。
首先,我们运行自动化流程检查错误。请注意,系统将显示“工作流异常”窗口。“异常类型”字段会显示具体问题。您可在“Try Catch 异常处理”的“Catches”部分,将其用作执行工作流期间要查找的异常类型。

如上方屏幕截图所示,在运行示例工作流时,“附加浏览器”容器选取器似乎存在问题。问题在于,选取器未能识别名为“生成随机名称 - 假名生成器”的浏览器窗口。
如要捕获此异常,我们需要执行以下操作:
-
在“调用工作流”活动上方的“活动”面板中拖动“Try Catch 异常处理”活动。
-
将“调用工作流”活动置于“Try Catch 异常处理”活动的“Try”部分。这样便可监控“调用工作流”活动以防其抛出错误。

-
在“Catches”部分中,从下拉列表中选择
UiPath.Core.SelectorNotFoundException异常。如果不存在,您可以在“浏览并选择 .Net 类型”窗口中找到它。
-
或者,您也可以在“Catches”部分添加“消息框”活动。然后在“内容”字段中填写带有引号的信息性消息,在本例中即为“Internet Explorer 已关闭。现在系统将打开该浏览器以继续执行工作流”。这表示无论何时捕获到异常,系统都将显示该消息框,以通知用户有关浏览器即将打开以便成功执行工作流的信息。

-
将“存在元素”活动拖动至“Finally”部分。这用于检查 Internet Explorer 是否在感兴趣的页面上打开, https://www.fakenamegenerator.com 。
-
打开 Internet Explorer 并访问上文提到的页面。
-
使用“在屏幕上指明”功能选择 Internet Explorer 窗口。
-
选择“存在元素”活动并编辑其选取器,使其呈现如下形式:“
<wnd app='iexplore.exe' title='Generate a Random Name - Fake Name Generator - Internet Explorer' />”。此选取器可确保“存在元素”活动仅查找已打开上述页面的 Internet Explorer 活动窗口。 -
在“输出”属性中,创建一个具有相关名称的变量,如“
browser”。此为“布尔值”变量,可帮助您确定 Internet Explorer 是否在指定页面上处于活动状态。 -
在“存在元素”活动下添加“IF 条件”活动。该活动可用于在 Internet Explorer 处于关闭状态时打开该浏览器,否则便继续执行工作流。
-
在“条件”字段,写入“
browser=false”。您可使用此条件验证是否已打开浏览器,并可根据其值执行其他操作。 -
将“打开浏览器”活动拖动至“Then”部分。如果满足“条件”(浏览器处于关闭状态),则在不影响工作流的情况下使用“打开浏览器”活动打开浏览器。
-
在URL字段中,键入https://www.fakenamegenerator.com 。
-
将“Else” 部分留空,以便在已打开 Internet Explorer 访问指定网站时,工作流能够继续按预期执行。

-
运行工作流,并注意以下任一情况:
- 如果 Internet Explorer 处于关闭状态:系统会通知用户即将打开 Internet Explorer,以继续执行工作流。之后将打开浏览器,收集所有预期数据并将其写入 Excel 文件。
- 如果 Internet Explorer 已打开 - 工作流将按预期执行。