UiPath トライ キャッチ(try catch) アクティビティ
トライキャッチはエラー処理を行うための基本的なアクティビティです。
この記事では、その使い方と機能を紹介します。
アクティビティの使い方
「System」、「Activities」より「Statements」より「トライ キャッチ」
デザイナーパネルの中にドロップします。
トライキャッチは3つのフィールドに分かれています。
それぞれにアクティビティを追加していきます。
フィールド
Try
Tryフィールドには通常のシーケンスと同様に行いたい業務処理を記述します。
途中でエラー(例外・Exception)が発生した場合、
その例外が発生したアクティビティを中断しCatchesに移動します。
この状態で「テキストをファイルから読み込み」で
エラーが発生するとCatchesに移行します。
("Try-2"の「1行を書き込み」は実行されません)
Catches
「新しいcatchの追加」をクリックします。
受け止める例外の種類を指定します。
どんな例外が発生するかを想定して設定するのが理想的ですが、
慣れないうちは「System.Exception」を指定しましょう。
この設定は全ての種類の例外を受け止めます。
その中に例外発生時に行うシーケンスを記述します。
(何も指定せずに流すことも可能です)
ログにエラーの内容を書き出したり警告音で人間に通知するなど
何らかの対処を行うことになります。
今回は例外の内容を1行を書き込みで出力パネルに表示します。
Textはexception.ToStringとする必要があります。
このexceptionは例外変数です。緑枠の部分で変数名を変更可能です。
さらに「新しいcatchの追加」をクリックすると別の例外に対応することが出来ます。
上記の例では「テキストをファイルから読み込み」に
指定したパスが存在せず「AggregateException」が発生します。
この場合、「Exception」でもキャッチ出来ますが、
より厳密に指定されている「AggregateException」の
キャッチの中のシーケンスが実行されます。
このように想定できる例外を厳密に指定し、
想定外に備えて「Exception」も指定するのが
よくあるTry-Catchの使い方です。
Finally
Finallyにはエラーが発生しても、しなくても
実行したいアクティビティを指定します。
(何も指定しなくても構いません)
トライキャッチの利点
想定できる例外であれば条件分岐で判定して
例外に対処することも可能です。
シーケンスが小さいうちはそれでも構いませんが、
大きくなってくると通常処理(Try)と例外処理(Chaches)を
分けて作成するほうが読みやすいシーケンスになります。
また想定出来ない例外への対処は条件分岐では不可能なため
ツールを作成する際は可能な限り
トライキャッチを使用して例外に対処しておきましょう。
繰り返し(ループ処理)で利用する場合
繰り返しの場合、トライキャッチの中に繰り返しアクティビティを置くか、
逆に繰り返しアクティビティの中にトライキャッチを置くかで挙動が異なります。
設置 | 挙動 |
---|---|
トライキャッチの中に繰り返しアクティビティ | エラー発生した時点で全ての繰り返しを終了(ブレーク) |
繰り返しアクティビティの中にトライキャッチ | エラー発生時には次の繰り返しに移行(コンティニュー) |
プロパティ
共通
表示名はデザイナーパネルに反映されます。
その他
UiPathのログに引数や変数の値が表示されるかを指定します。
機密性の高い情報を取り扱う場合にのみチェックする必要があります。