网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- 描述常见的异常处理技术,并解释何时使用它们。
- 在自动化项目中使用
TryCatch、Throw和Rethrow
活动。 - 在自动化项目中使用
Retry Scope
活动。 - 描述
ContinueOnError
属性。 - 在有人参与和无人参与的情况下使用
全局异常处理
程序。
2️⃣ 识别并区分不同类型的异常
在了解最常见的异常之前,让我们快速区分错误(errors)和异常(exceptions):
♈ Errors
Errors是特定程序通常无法处理的事件。根据导致错误的原因,有不同类型的错误,例如:
- Syntax errors,编译器/解释器无法将编写的代码解析为有意义的计算机指令。
- User errors,其中软件确定用户的输入由于某些原因不可接受。
- Programming errors,其中程序不包含语法错误,但不产生预期结果。这些类型的错误通常被称为bug。
♉ Exceptions
Exceptions是程序识别(捕获)、分类和处理的事件。更具体地说,有一个由开发人员配置的例程,当捕获到异常时会被激活。有时,处理机制可以简单地停止执行。一些Exceptions与所使用的系统有关,而其他Exceptions与业务流程的逻辑有关。
让我们详细了解不同类型的异常。
⭐ System exceptions
以下是在使用UiPath开发的项目中可能遇到的最常见的异常列表。
一般来说,下面提到的所有这些异常类型都是从System派生的。异常,因此例如在TryCatch中使用此泛型类型将捕获所有类型的错误。
- NullReferenceException - 使用没有设置值(未初始化)的变量时发生。
- IndexOutOfRangeException - 当对象的索引超出集合的限制时发生。
- ArgumentException - 当调用方法并且至少一个传递的参数不符合被调用方法的参数规范时引发。
- SelectorNotFoundException - 当robot在超时期间内无法在目标应用程序中找到活动的指定选择器时引发。
- ImageOperationException - 在超时期间未找到图像时发生。
- TextNotFoundException - 在超时时间段内未找到所指示的文本时发生。
- ApplicationException - 描述源于技术问题的错误,例如应用程序没有响应。
⭐ Business exceptions
业务异常主要是指Automation Process中使用的信息。从商业角度来看,它可能不完整或不正确。
当发生业务异常时,机器人会停止流程,并且需要人工干预来处理抛出的异常。
业务异常的一些例子是:自动化项目所依赖的某些数据不完整、缺失、超出了设定的界限(比如试图从ATM中提取超过每日限额的数据),或者没有通过其他数据验证标准
。
业务规则异常不会自动生成为系统异常。它们必须由开发人员使用Throw Activity
定义,并在TryCatch
中处理。
3️⃣ TryCatch、Throw和Rethrow
本章节结束,您可以学会:
- 描述常见的异常处理技术,并解释何时使用它们。
- 在自动化项目中使用
TryCatch、Throw和Rethrow
活动。
♈ 概述
TryCatch
活动捕获序列或活动中指定的异常类型,并显示错误通知或将其取消并继续执行。
作为一种机制,TryCatch运行Try块中的活动,如果发生错误,则执行Catches块中的行为。Finally块仅在未引发异常或在Catches块中捕获并处理异常时执行(不重新引发)。
⭐ Try
有可能引发错误的活动。
⭐ Catches
发生异常时要执行的活动或活动集。
注意:您可以将多个异常和相应的活动添加到此块。
每当发生异常时,如果