BluePrismと例外処理
BluePrismとはフローを作成しながら自動化したい作業を実現していくRPAツールです。
本ツールでは不測の事態でもフローを継続するための機能である例外処理が利用できます。
いわゆる、プログラミング言語における実行時例外(RuntimeException)です。
本記事ではBluePrismにてRecover/Resumeを用いてエラー処理を行う流れについて解説しています。
ちなみにそれぞれは以下の意味です。
- Recover : 復旧
- Resume : 再開
ゼロ除算によるエラーを処理
初期値を与えたxとyの除算の結果をoutputに格納するシンプルなフローを用意します。
Divisionの中では以下の式の出力をoutputにしています。
[x]/[y]
yの初期値を「0」にするとどうなるでしょうか。
Internal : Failed to evaluate expression '[x]/[y]' - Division by zero
エラーとなりフローが停止します。
ここで登場するのがRecoverとResumeです。
Recoverはエラーが発生した際の起点となるポイントで、Resumeはエラーを例外として無効にする機能があります。
Resumeを用意せずにそのままEndに接続すると以下のような検査例外がErrors項目に表示されますのでご注意ください。
Recovery stage is linked back to main process
ちなみに以下のようにRecoverを複数用意しても最初に用意したRecoverが起点となります。
ではRecoverはフロー図に一つだけなのでしょうか。
結論としてはBlockを利用することで例外処理の起点を分けることができます。
Recoveryを複数用意する
以下のようにBlockで囲うことでフローを制御することができます。
つまり、ブロック内で発生したエラーに関してはブロック内に配置されているRecoverに飛びます。
これにより、フローのどのあたりでエラーが発生しているのかを管理することができます。
終わりに
BluePrismの例外処理の基本はRecover~Resumeであり、応用としてブロックを用いて復旧フローを管理します。
少し面倒なExceptionの使い方に関しては、別途記事にしたいと思います。
以上、BluePrismの例外処理入門でした。