- リリース ノート
- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- シーケンス
- フローチャート
- ステート マシン
- グローバル例外ハンドラー
- テンプレートを使用したワークフロー
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- 診断ツール
- ワークフロー アナライザー
- 変数
- 引数
- インポートされた名前空間
- レコーディング
- UI 要素
- 制御フロー
- セレクター
- オブジェクト リポジトリ
- データ スクレイピング
- 画像とテキストの自動化
- Citrix テクノロジの自動化
- RDP の自動化
- Salesforce の操作の自動化
- SAP のオートメーション
- VMware Horizon の自動化
- ログ
- ScreenScrapeJavaSupport ツール
- Webdriver プロトコル
- Test Suite - Studio
- 拡張機能
- トラブルシューティング
Studio ガイド
グローバル例外ハンドラー
グローバル例外ハンドラーは、実行エラーが発生した場合にプロジェクトの動作を決定するよう設計されたワークフローの一種です。オートメーション プロジェクト 1 件につき、グローバル例外ハンドラー を 1 つだけ追加できます。
グローバル例外ハンドラーには 2 個の引数があります。これらは削除してはいけません。
errorInfo
です。発生したエラーと失敗したワークフローに関する情報を格納します。ログ対象とするエラー レベルは [メッセージをログ] アクティビティで設定できます。
errorInfo
の ActivityInfo
プロパティを使用して、例外をスローしたアクティビティの名前を取得し、[出力] パネルに表示します。
result
です。エラー発生時に、この引数を使用してプロセスの次の動作を決定します。次の値が result
引数に割り当てられます。
- Continue - 例外が再度スローされます。
- 無視 - 例外を無視して、次のアクティビティから実行を続行します。
- リトライ - 例外をスローしたアクティビティがリトライされます。
errorInfo
のRetryCount
メソッドを使用して、アクティビティのリトライ回数をカウントします。 -
中止 - 現在のグローバル例外ハンドラーを実行した後に、実行が中止されます。
注: Studio では、ライブラリ プロジェクト以外の任意のプロジェクトとMain.xaml
をグローバル例外ハンドラーとしてフラグ付けすることができます。
エラー発生時のこのワークフローの動作を制御するために、グローバル例外ハンドラー はこのアクティビティを 3 回リトライしてから、エラー メッセージを表示して中止します。
デバッグ中に例外が検出されると、失敗したアクティビティが強調表示され、実行が停止し、[ローカル] パネルと [コール スタック] パネルに例外の種類と詳細が表示されます。
[続行]、[停止] [リトライ]、[無視]、[再開]、[低速ステップ] などのデバッグ操作はリボンから使用できます。次のアクティビティから実行を継続する場合は、[無視] を使用します。
result
引数で以前に選択された値 (Continue、Ignore、Retry、または Abort のいずれか) を考慮して、グローバル例外ハンドラーを実行します。
[トライ キャッチ] を含むプロジェクトでグローバル例外ハンドラーを使用する際には、必ず [Try] コンテナーの内部の [シーケンス] にアクティビティをグループ化してください。グループ化しないと、グローバル例外ハンドラーは実行されません。
入れ子になったアクティビティの場合、グローバル例外ハンドラーは、コールスタックに含まれるそれぞれのアクティビティに対して実行されます。ただし、[トライ キャッチ] に直接カプセル化されている複数のアクティビティについては、これらが 1 つのアクティビティに格納されていない限り、グローバル例外ハンドラーは実行されません。
次の例では、実行中に例外がスローされた場合のプロジェクトの動作を示します。
このオートメーション プロジェクトは、TXT ファイルにテキストを入力した後、ファイルが保存されてからアプリケーションを閉じるように設定されています。
グローバル例外ハンドラーは例外を検出すると、失敗したアクティビティの名前をログし、そのアクティビティを 3 回リトライします。実行のたびに同じ例外が発生し、リトライ回数が 3 回に達した場合、例外をスローしたアクティビティのレベルで実行を中止します。
試行中に 1 回でも例外が発生しなかった場合には、ワークフローの実行が継続され、グローバル例外ハンドラーは介入しません。