エラー ハンドラー パッケージ
- 最終更新日2022/03/08
実行時の異常な条件や例外に起因するエラーが Bot で発生すると、Bot の正常な実行は妨げられ、Bot はタスクを完了できなくなります。エラー ハンドラー パッケージ には、Bot で発生した例外を円滑に処理できる アクション が含まれており、その Bot 内にある他の アクション に制御を移行します。
パッケージ の アクション を使用すると、タスクを実行するために使用する アクション と、例外を処理するために使用する アクション を分離できます。例外を処理すると、Bot でエラーが発生したときにタスクが確実に完了されるようになり、エラーの発生時に アクション が定義されます。
次の図は、タスクでエラー処理を使用する場合と使用しない場合の Bot の実行の様子を示しています。

エラー ハンドラー パッケージ の アクション
エラー ハンドラー パッケージ には以下の アクション が含まれています。
| アクション | 説明 |
|---|---|
| 試行 | [試行] アクション 内に アクション を追加できます。Bot は アクション を通常どおりに実行します。Bot でエラーが発生しなければ、[最終] アクション が存在する場合はそこまで実行が継続します。ただし、エラーが発生した場合、Bot の実行は [キャッチ] アクション に直接移動し、[試行] アクション の残りの アクション は完了しません。 |
| キャッチ | [試行] アクション でエラーが発生した場合、制御は Bot 実行によって [キャッチ] アクション に直接移ります。エラーの説明や行番号の値は、[キャッチ] アクション 内の変数に割り当てることができます。別の アクション を [キャッチ] アクション に追加し、エラー条件を処理できます。これらの アクション には、E メール [送信] アクション (エラーに関する E メールを送信) または [ファイルに記録] アクション (エラー条件をファイルに記録) を含めるか、スクリーン [ウィンドウをキャプチャ] を含めて、エラー発生時にウィンドウまたはアプリケーションのスクリーンショットを取り込むことができます。 [キャッチ] アクション が存在しない場合、[試行] アクション は、エラー発生時に、[試行] アクション の後にリストされている アクション の処理を続けます。 [試行] および [キャッチ] アクション を Bot で複数回使用すると、さまざまな例外を処理できます。これにより、発生した例外に基づいて、さまざまな アクション を実行できるようになります。 オプションを使用することで、[キャッチ] ブロック内の アクション からのエラーを無視できるようになりました。[エラー発生時に次のアクションを続行] チェックボックスをオンにすると、[キャッチ] ブロック内の アクション からエラーが発生した場合でも例外はスローされず、Bot はエラーを無視して、次の アクション を続行します。 注: この機能強化は、[キャッチ] ブロック内でネストしているすべての アクション に適用されます。たとえば、メインの [キャッチ] アクション の内部に [試行/キャッチ] アクション があり、メインの [キャッチ] アクション でこのチェックボックスがオンの場合、ネストされたブロック内の アクション からのエラーはすべて無視されます。 |
| 最終 | [最終] アクション では、例外が発生したかどうかにかかわらず、[試行] と [キャッチ] の後に アクション を実行できます。[最終] アクション は、監査情報の記録、または [試行] と [キャッチ] アクション の後に続く アクション で最も役立ちます。 |
| スロー | [試行] アクション の中で論理エラーが発生した場合は、[スロー] アクション を使用してエラー条件を作成すると、直ちに Bot 実行は [キャッチ] アクション にシフトします。[スロー] アクション のプロパティを編集し、エラー メッセージを [キャッチ] アクション に送信するように設定できます。[試行] アクション の外では、[スロー] アクション によって標準エラー ダイアログ ボックスが表示され、ユーザーは手動で [閉じる] ボタンをクリックして、そのダイアログ ボックスを閉じることになります。 |
エラー ハンドラー による例外処理
次の図は、Bot 実行中に外部エラーが発生したときの エラー ハンドラー パッケージ の アクション の流れを示しています。

次の図は、Bot 実行中に内部エラーが発生したときの エラー ハンドラー パッケージ の アクション の流れを示しています。

例: エラー ハンドラー パッケージ での アクション の使用
たとえば、Microsoft Excel ファイルからデータを読み取り、それをデータベースに格納する Bot があるとします。この Bot では、必要なファイルがない場合や、データベースのテーブルの更新中にエラーが発生する可能性があります。エラーを処理するには、次の方法を使用します。
- 例外 1:
- データの抽出元に指定する Microsoft Excel スプレッドシートが使用可能でない。
- 処理方法: 同じデータを含む別のファイルを使用します。
- 例外 2:
- データの格納に使用するテーブルがデータベースで使用可能でない。
- 処理方法: 必要なテーブルが使用可能でないというメッセージを表示します。
この例に基づいて、これらの例外を処理するには、以下の操作を行います。
- Microsoft Excel スプレッドシートからデータを読み取って、抽出したデータをデータベース内のテーブルに格納するために必要なすべての アクション を [試行] アクション 内に配置します。
- 次の例外に対して実行する アクション を [キャッチ] アクション 内に配置します。
- 例外 1: 同じデータが含まれた別のファイルを使用する アクション を配置します。
- 例外 2: 関連メッセージを表示する [メッセージ ボックス] アクション を配置します。
- アクション を配置し、[最終] アクション 内でデータベースとの接続を終了します。これは [試行] の結果に関係なく発生します。