Blue Prism ( ブループリズム ) には、 例外タイプ (型)というものがあります。
今回は、この 例外タイプ(型) を誤って登録してしまった場合のリスクと、削除したいときの操作方法についてまとめたいと思います。
誤った例外タイプが、なぜ登録され広まるのか
Blue Prismの 例外タイプ は、とても重要です。この例外タイプがあることで、「例外」が発生したとしても対応ロジックを組み立てることができるためです。
この例外タイプですが、本来ならば開発チーム内で作成方針を定め、新しい例外タイプを作る時には慎重に検討する必要があるものです。しかしながら例外タイプは、例外ステージの「例外タイプ」項目に手入力するとその場で新規登録が可能な上、プロセス/オブジェクトの保存時にデータベースに登録され、他の開発者も選択可能になってしまいます。
そのため、スペルミスや図1のような、表記ゆれ(スペースを含める含めない等)をした不適切な例外タイプが登録されてしまい、他の開発者がそれを選択して不適切な例外タイプが広まってしまうことがよくあります。
仮に誤った例外タイプを選択した場合、例外のハンドリングで正しいルートに進まない可能性が出てきます。
どういうことか、簡単に見てみましょう。
誤った 例外タイプ を使用した場合
図2は、弊社のNETプロセステンプレートの【例外として記録】ページにある判断ステージのプロパティです。
テンプレートの説明は割愛させていただきますが、このアクションでは式にある通り「Business Exceptionか?」の判断しています。
開発者が「Business Exception」を選択するつもりでいたにもかかわらず
「BusinessException」(スペースなし)や「Business Excepton」(スペルミス)を選択した場合、ここでの判断結果は意図しないルートを辿ることになります。
こういったことを防ぐためには、開発者が例外タイプの手入力をしない、そしてコンボボックスの選択肢には誤った例外タイプを表示させないことがとても大切になってきます。
仮に間違えて登録したとしても、コントロールルームから例外タイプの削除は可能です。ただし、すでに誤った例外タイプを参照しているプロセスやオブジェクトをすべて修正しなければならないので、結構面倒な作業となります。
選択する例外タイプはしっかりと確認し、手入力はせず、既存の例外タイプの中から正しいものを選択するように心がけましょう。
それでも、すでに登録されてしまっている不適切な例外タイプがある場合には、早々に削除することをお勧めします。
では、ここからは削除の方法を見ていきましょう。
例外タイプ を一覧から削除する方法
例外タイプの削除は、コントロールルームのシステムタブより
[プロセス(オブジェクト)]>[例外タイプ]と移動し、削除したい例外タイプを選択後、画面右の「例外タイプを削除」を選択することで削除できます。
ただし、当該の例外タイプを参照しているプロセス/オブジェクトが、0でなければ削除することができません。
当該の例外タイプを参照しているプロセス/オブジェクトが存在する状態で削除しようとすると、「選択には使用中の例外が含まれています」というエラーメッセージが表示されてしまいます。
画面右の「プロセス(ビジネスオブジェクト)のスキャン」をクリックすることで、選択した例外タイプを参照しているプロセス/オブジェクトを図4のように表示させることができます。
ただし、選択した例外タイプのみをスキャンすることはできないため、プロセス/オブジェクトの数が多いとスキャンにかなり時間がかかります。
そして、この参照一覧を見ながら、プロセス/オブジェクトの中で誤った例外タイプを使用している箇所の例外タイプを修正し、参照しているプロセス/オブジェクトを0にします。
その状態で、再度「例外タイプを削除」を選択します。
ようやく誤って登録してしまった例外タイプの削除ができました。
まとめ
- 例外タイプの選択時は、しっかりと確認をする。
- なるべく既存の例外タイプを使用する。
- 新しく登録の必要がある場合等にそなえ、ルールを決める。
- 誤った例外タイプがあることに気が付いた場合には、早い段階で削除する。
不適切な例外タイプが広まってしまうと修正するのが非常に面倒なので、正しい例外タイプを選択することを心がけましょう。
/
Blue Prism ( ブループリズム )のお役立ちブログはこちらもご覧ください!!
\
双日テックイノベーションでは、Blue Prism開発者(ディベロッパー)の皆様に向けて、Blue Prism開発に役立つコツを書き溜めています。Blue Prism好きなエンジニアがよくあるつまづきポイントを解説しています。
>>Blue Prism 開発Tipsブログ:https://digital-labor.sojitz-ti.com/blog-tag/blue-prism/