- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- 制御フロー
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- ログ
- 診断ツール
- ワークフロー アナライザー
- ワークフロー アナライザーについて
- ST-DBP-002 - 多数の引数
- ST-DBP-003 - 空の catch ブロック
- ST-DBP-007 - 複数のフローチャートレイヤー
- ST-DPB-010 - [ワークフロー] または [テスト ケース] の複数のインスタンス
- ST-DBP-020 - 未定義の出力プロパティ
- ST-DBP-021 - ハードコードされたタイムアウト
- ST-DBP-023 - 空のワークフロー
- ST-DBP-024 - 永続性アクティビティの確認
- ST-DBP-025 - 変数のシリアル化の前提条件
- ST-DBP-027 - Persistence のベスト プラクティス
- ST-DBP-028 - 引数のシリアル化の前提条件
- ST-USG-005 - ハードコードされたアクティビティのプロパティ
- ST-USG-009 - 未使用の変数
- ST-USG-010 - 未使用の依存関係
- ST-USG-014 - パッケージの制限
- ST-USG-017 - パラメーターの修飾子が無効
- ST-USG-020 - 最小ログ メッセージ
- ST-USG-024 - 未使用で保存されたままの値
- ST-USG-025 - 保存した値の誤用
- ST-USG-026 - アクティビティの制限
- ST-USG-027 - 必要なパッケージ
- ST-USG-028 - ファイル テンプレートの呼び出しの制限
- ST-USG-027 - 必須のタグ
- ST-USG-034 - Automation Hub URL
- 変数
- 引数
- インポートされた名前空間
- コード化されたオートメーション
- トリガーベースの有人オートメーション
- オブジェクト リポジトリ
- ScreenScrapeJavaSupport ツール
- 拡張機能
- Studio でのテスト
- トラブルシューティング

Studio ガイド
グローバル例外ハンドラー
グローバル例外ハンドラーは、実行エラーが発生した場合にプロジェクトの動作を決定するよう設計されたワークフローの一種です。オートメーション プロジェクト 1 件につき、グローバル例外ハンドラー を 1 つだけ追加できます。
グローバル例外ハンドラーが使用できるのはプロセスのみです。ライブラリには使用できません。
グローバル例外ハンドラーには 2 個の引数があります。これらは削除してはいけません。
1 つ目の引数は [入力] 方向にerrorInfoされ、発生したエラーと失敗したワークフローに関する情報を格納します。ログ対象とするエラー レベルは [ メッセージをログ ] アクティビティで設定できます。
errorInfo の ActivityInfo プロパティを使用して、例外をスローしたアクティビティの名前を取得し、[出力] パネルに表示します。
2 つ目の引数は、出力方向の result です。エラー発生時に、この引数を使用してプロセスの次の動作を決定します。次の値が result 引数に割り当てられます。
- Continue - 例外が再度スローされます。
- 無視 - 例外を無視して、次のアクティビティから実行を続行します。
- リトライ - 例外をスローしたアクティビティがリトライされます。
errorInfoのRetryCountメソッドを使用して、アクティビティのリトライ回数をカウントします。 - 中止 - 現在のグローバル例外ハンドラーを実行した後に、実行が中止されます。
注:
Studio では、ライブラリ プロジェクト以外の任意のプロジェクトと
Main.xamlをグローバル例外ハンドラーとしてフラグ付けすることができます。
エラー発生時のこのワークフローの動作を制御するために、グローバル例外ハンドラー はこのアクティビティを 3 回リトライしてから、エラー メッセージを表示して中止します。
デバッグ中に発生したエラーを処理する
デバッグ中に例外が検出されると、失敗したアクティビティが強調表示され、実行が停止し、[ローカル] パネルと [コール スタック] パネルに例外の種類と詳細が表示されます。
リボン では、[ 続行]、[ 停止]、[ リトライ]、[ 無視]、[ 再起動 ]、[ ステップを遅く ] などのデバッグ操作を使用できます。無視 は、次のアクティビティから実行を継続する場合に使用します。
グローバル例外ハンドラーが介入することなく、[リトライ] ボタンは現在のアクティビティを実行しようとします。続行操作を行うと、result 引数で以前に選択された値 (Continue、Ignore、Retry、または Abort のいずれか) を考慮して、グローバル例外ハンドラーを実行します。
[トライ キャッチ] を含むプロジェクトで グローバル例外ハンドラー を使用する際には、必ず[Try] コンテナーの内部の[シーケンス] にアクティビティをグループ化してください。グループ化しないと、 グローバル例外ハンドラー は実行されません。
入れ子になったアクティビティの場合、グローバル例外ハンドラーは、コールスタックに含まれるそれぞれのアクティビティに対して実行されます。ただし、[トライ キャッチ] に直接カプセル化されている複数のアクティビティについては、これらが 1 つのアクティビティに格納されていない限り、グローバル例外ハンドラーは実行されません。
グローバル例外ハンドラーの使用例
次の例では、実行中に例外がスローされた場合のプロジェクトの動作を示します。
このオートメーション プロジェクトは、TXT ファイルにテキストを入力した後、ファイルが保存されてからアプリケーションを閉じるように設定されています。
ワークフローを作成する
- 「 基本のプロセスを作成する 」ページの手順に従って 、空のプロセス を作成します。
- メモ帳を開き、ドキュメントを使用中のマシンに保存します。ファイルに、
1.txtという名前を付けます。 - [アクティビティ] パネルで [アプリケーション/ブラウザーを使用] アクティビティを検索し、デザイナー パネルにドラッグします。
- [アプリケーション/ブラウザーを使用] アクティビティで、以下を実行します。
- [自動化するアプリケーションを指定(I)] をクリックして、マウス ポインターを [メモ帳] ウィンドウに移動します。ウィンドウが強調表示されたら、ウィンドウ内の任意の場所をクリックします。 [アプリケーション/ブラウザーを使用] アクティビティが更新され、パスが [アプリケーション パス] フィールドに追加されて、ウィンドウのスクリーンショットがアクティビティに表示されます。
- [プロパティ] パネルで、[閉じる] プロパティに [常時] オプションを選択します。これにより、オートメーションの実行後、メモ帳が閉じられるように設定されます。
- [ アプリケーション/ブラウザーを使用] アクティビティの[Do] コンテナーに [ 文字を入力] アクティビティを追加します。[ 次で指定: アプリ ] をクリックして [メモ帳] ウィンドウを選択し、[ 以下を入力] フィールドにテキストを引用符で囲んで入力します。このアクティビティは、テキストをメモ帳に書き込みます。
- [アクティビティ] パネルから、[キーボード ショートカット] アクティビティをワークフローに追加します。[メモ帳] ウィンドウを指定して [ ショートカットを記録 ] を選択した後、 Ctrl + S キーを押して、テキストの入力後にファイルを保存するキーの組み合わせを記録します。
結果のワークフローは次のようになります。

グローバル例外ハンドラーを追加する
-
リボンの一部である [デザイン] タブで、[新規作成] > [グローバル ハンドラー] を選択します。[新しいグローバル ハンドラー]ウィンドウが開きます。ハンドラーの名前を入力して、プロジェクト パスに保存します。[作成] をクリックすると、グローバル例外ハンドラー がオートメーション プロジェクトに追加されます。

-
以前に作成したワークフローに戻り、アクティビティの実行が失敗するように変更します。たとえば、[アプリケーション/ブラウザーを使用] アクティビティで [タイトルが完全に一致] オプションを選択し、リボンで [ファイルを実行] をクリックする前にファイルが閉じられるようにします。
グローバル例外ハンドラーは例外を検出すると、失敗したアクティビティの名前をログし、そのアクティビティを 3 回リトライします。実行のたびに同じ例外が発生し、リトライ回数が 3 回に達した場合、例外をスローしたアクティビティのレベルで実行を中止します。
試行中に 1 回でも例外が発生しなかった場合には、ワークフローの実行が継続され、グローバル例外ハンドラーは介入しません。