Day21. Blue Prism 有事不再找老大,自己搞定 -BP 的Exception Type 与Exception Handling

常听说出事了就想找老大摆平,
结果在群内的地位越来越低,
如果能试着自己处理问题,
把事情Handle好,日子久了自然地位会越来越被重视。

BP的Exception 异常事件也常常需要运用Exception Handling来处理,
让整个系统更为稳定与应变性更强,
如果没有Exception Handling,整个系统的处理将无法容错与容许任何状况发生,
有了Exception Handling後,经由BP设计的流程稳定度更为提升,
产生出来的结果也更让人信任。

 前集提要

BP 串Objects页流程传递参数
(1)说明整个Object页串起後的整个流程与流程之间要如何传递参数。

 本集预告

BP 的Exception Type 与Exception Handling
(1)说明BP的异常型态与BP的异常处理。

我们接着来看看「BP 的Exception Type 与Exception Handling」吧!

  1. Blue Prism 实现异常处理
    Exception异常的发生通常在处理Process或Object流程期间发生。
    (1). Blue Prism 异常处理阶段
    Exception:在Process或Object流程中显示引发异常。
    Recovery:开始处理异常。
    Resume:结束处理异常。

  2. Blue Prism 的3种异常类型:
    https://ithelp.ithome.com.tw/upload/images/20210921/20141198w3Un2cHLMb.png

从上面的示意图我们可以看出Blue Prism可以处理的异常有所谓的内部异常、系统异常以及业务异常。
业务异常从字面上就很清楚的看出,主要异常来源是由人经由业务规则去定义Exception抛出的时机,
也就是如果执行的资料或条件符合业务规则中断需抛出异常时,系统就会经由设定好的业务异常抛出Business Exception。
如果遇到系统内部就可判断错误的异常项目就被归类於内部异常;其主要异常逻辑或规则已清楚定义於系统内部,因此遇到像是除以零、文字格式资料运算时,
系统不需要经过设计就会侦测到并抛出Internal Exception,至於,System Exception(系统异常)的问题多发於系统间的沟通异常所致,
例如:浏览器连线逾时…等问题。

以下我们来看一下Internal Exception的例子:
Internal Exception
前几天我们设计的读取Excel的流程,若遇到找不到Excel档案时,系统即会抛出Exception,
此类的Exception就是Internal Exception。
https://ithelp.ithome.com.tw/upload/images/20210921/20141198rjhoqZgPdY.png

此类的异常也可从System 项次 > Object分支 > Exception Type 按下Scan Business Objects看到相关讯息
https://ithelp.ithome.com.tw/upload/images/20210921/2014119874C2i6O6Rp.png

Blue Prism 中Exception的设定例子:
https://ithelp.ithome.com.tw/upload/images/20210922/20141198fwN5QObbuQ.png

BP小教室:

异常阶段

异常阶段允许进程报告异常并停止执行。有关异常的概述,请参阅:异常帮助
• 输入名称- 您输入的名称标识异常,它将显示在流程图上。
• 输入描述- 附加描述字段允许输入更长的叙述。
• 输入异常类型- 异常类型可用於概括异常的原因:
o 从下拉列表中选择现有的异常类型。
o 通过输入文本创建新的例外类型。
• 输入异常详细信息- 异常详细信息可用於从流程中获取任何其他值:
o 异常详细信息可以是任何有效的 Blue Prism 表达式。请参阅计算和决策。
o 如果您只需要一些文本,请记住将文本括在引号中。
• 保留当前异常的类型和详细信息- 此选项可与恢复阶段一起使用以保留异常的详细信息,确保即使在进程已清理之後,会话日志中仍保留准确的错误帐户。如果启用,异常类型和异常详细信息字段将被禁用,因为类型和详细信息保留在原始异常中。这有助於排除异常并确定错误来源。
• 保存屏幕截图- 这将在发生异常时拍摄屏幕图像,并将其存储在 Blue Prism 数据库中。必须在系统设置中启用屏幕捕获功能才能使 复选框生效。对於任何运行时资源,只会存储最新的屏幕截图。只有在控制室中运行的进程才会创建屏幕截图。在调试过程中,不会进行屏幕截图,但会记录一条消息以指示何时进行屏幕截图。

(以上小知识撷取自Blue Prism online help)

至於Exception的异常处理复原就会将相关设定写在Recovery与Resume之间,
一般来说每页只有一个Recovery和Resume阶段就足够了。
https://ithelp.ithome.com.tw/upload/images/20210922/20141198x6HbGsPuiu.png

但是我们可以使用多个异常阶段,如果您想使用多个恢复阶段,我们需要使用 Block Stage。
由於此部分属於较深入的探讨,因此我们可在铁人赛外的一些场合再为大家说明。


<<:  Day 7:AWS是什麽?30天从动漫/影视作品看AWS服务应用 -《PSYCHO-PASS心灵判官》part1

>>:  007-小工具

Day 06 : 资料处理 Pandas (2)

今天接着介绍 pandas 如何表对资料表合并、资料汇总等等进阶用法! 资料表合并 inner jo...

DAY8-PHP和MYSQL(二)

前言: 昨天我们成功建立了php网页和mysql资料库的连线,让我们顺利的把一些使用者填写的资料送...

连续 30 天 玩玩看 ProtoPie - Day 16

新的讲者在 Sky 工作,要来跟我们讲怎麽做有逻辑判断的互动设计。 这次会做三个范例: 判断两次密码...

JavaScript学习日记 : Day18 - Class

在平时开发时,我们会遇到要创建许多类型相似的object,之前的文章有提到使用new操作符配合fun...

2021/11/28更新

ShiojiLogin.py: 加了contracts_timeout=10000的参数,在登入时...