(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【BluePrism入門】例外処理を利用する

スポンサーリンク

BluePrismと例外処理

BluePrismとはフローを作成しながら自動化したい作業を実現していくRPAツールです。

本ツールでは不測の事態でもフローを継続するための機能である例外処理が利用できます。
いわゆる、プログラミング言語における実行時例外(RuntimeException)です。

本記事ではBluePrismにてRecover/Resumeを用いてエラー処理を行う流れについて解説しています。

ちなみにそれぞれは以下の意味です。

  • Recover : 復旧
  • Resume : 再開

ゼロ除算によるエラーを処理

初期値を与えたxとyの除算の結果をoutputに格納するシンプルなフローを用意します。
f:id:mtiit:20190503170723p:plain
Divisionの中では以下の式の出力をoutputにしています。

[x]/[y]

yの初期値を「0」にするとどうなるでしょうか。

Internal : Failed to evaluate expression '[x]/[y]' - Division by zero

エラーとなりフローが停止します。
f:id:mtiit:20190503171103p:plain

ここで登場するのがRecoverResumeです。
Recoverはエラーが発生した際の起点となるポイントで、Resumeはエラーを例外として無効にする機能があります。
f:id:mtiit:20190503174104p:plain
Resumeを用意せずにそのままEndに接続すると以下のような検査例外がErrors項目に表示されますのでご注意ください。

Recovery stage is linked back to main process

ちなみに以下のようにRecoverを複数用意しても最初に用意したRecoverが起点となります。
f:id:mtiit:20190503175205p:plain

ではRecoverはフロー図に一つだけなのでしょうか。

結論としてはBlockを利用することで例外処理の起点を分けることができます

Recoveryを複数用意する

以下のようにBlockで囲うことでフローを制御することができます。
つまり、ブロック内で発生したエラーに関してはブロック内に配置されているRecoverに飛びます。
f:id:mtiit:20190503182248p:plain
これにより、フローのどのあたりでエラーが発生しているのかを管理することができます。

終わりに

BluePrismの例外処理の基本はRecover~Resumeであり、応用としてブロックを用いて復旧フローを管理します。
少し面倒なExceptionの使い方に関しては、別途記事にしたいと思います。

以上、BluePrismの例外処理入門でした。