実行時の異常な条件や例外に起因するエラーが bot で発生すると、bot の正常な実行は妨げられ、bot はタスクを完了できなくなります。Error handler package には、bot で発生した例外を円滑に処理できる actions が含まれており、その bot 内にある他の actions に制御を移行します。

packageactions を使用すると、タスクを実行するために使用する actions と、例外を処理するために使用する actions を分離できます。例外を処理すると、bot でエラーが発生したときにタスクが確実に完了されるようになり、エラーの発生時に actions が定義されます。

次の図は、タスクでエラー処理を使用する場合と使用しない場合の bot の実行の様子を示しています。

エラー ハンドラーのフロー チャート

[Error handler] package内のActions

[Error handler] package には以下のactionsが含まれます。

アクション 説明
試行 [試行] action 内に actions を追加できます。botactions を通常どおりに実行します。bot でエラーが発生しなければ、[最終] action が存在する場合はそこまで実行が継続します。ただし、エラーが発生した場合、bot の実行は [キャッチ] action に直接移動し、[試行] action の残りの actions は完了しません。
キャッチ [試行] action でエラーが発生した場合、制御は bot 実行によって [キャッチ] action に直接移ります。エラーの説明や行番号の値は、[キャッチ] action 内の変数に割り当てることができます。別の actions を [キャッチ] action に追加し、エラー条件を処理できます。これらの actions には、Email [送信] action (エラーに関する E メールを送信) または [ファイルに記録] action (エラー条件をファイルに記録) を含めるか、Screen [ウィンドウをキャプチャ] を含めて、エラー発生時にウィンドウまたはアプリケーションのスクリーンショットを取り込むことができます。

[キャッチ] action存在しない場合、[試行] action は、エラー発生時に、[試行] action の後にリストされている actions の処理を続けます。

[試行] および [キャッチ] actionsbot で複数回使用すると、さまざまな例外を処理できます。これにより、発生した例外に基づいて、さまざまなactionsを実行できるようになります。

最終 [最終] action では、例外が発生したかどうかにかかわらず、[試行] と [キャッチ] の後に actions を実行できます。[最終] action は、監査情報の記録、または [試行] と [キャッチ] actions の後に続く action で最も役立ちます。
スロー [試行] action の中で論理エラーが発生した場合は、[スロー] action を使用してエラー条件を作成すると、直ちに bot 実行は [キャッチ] action にシフトします。[スロー] action のプロパティを編集し、エラー メッセージを [キャッチ] action に送信するように設定できます。[試行] action の外では、[スロー] action によって標準エラー ダイアログ ボックスが表示され、ユーザーは手動で [閉じる] ボタンをクリックして、そのダイアログ ボックスを閉じることになります。

Error handler による例外処理

次の図は、bot 実行中に外部エラーが発生したときの Error handler packageactions の流れを示しています。

外部エラーの例

次の図は、bot 実行中に内部エラーが発生したときの Error handler packageactions の流れを示しています。

内部エラーの例

例: Error handler packageでのactionsの使用

たとえば、Microsoft Excel ファイルからデータを読み取り、それをデータベースに格納する bot があるとします。この bot では、必要なファイルがない場合や、データベースのテーブルを更新中にエラーが発生する可能性があります。エラーを処理するには、次の方法を使用します。

  • 例外 1:
    • データの抽出元に指定したい Microsoft Excel スプレッドシートが使用可能でない。
    • 処理方法: 同じデータを含んでいる別のファイルを使用します。
  • 例外 2:
    • データの格納に使用したいテーブルがデータベースで使用可能でない。
    • 処理方法: 必要なテーブルが使用可能でないというメッセージを表示します。

この例に基づいて、これらの例外を処理するには、以下の操作を行ってください。

  1. Microsoft Excel スプレッドシートからデータを読み取って、抽出したデータをデータベース内のテーブルに格納するために必要なすべての actions を [試行] action 内に配置します。
  2. 次の例外に対して実行する actions を [キャッチ] action 内に配置します。
    1. 例外 1: 同じデータが含まれた別のファイルを使用する actions を配置します。
    2. 例外 2: 関連メッセージを表示する [メッセージ ボックス] action を配置します。
  3. [データベース] > [接続解除] action を配置し、[最終] action 内でデータベースとの接続を終了します。これは [試行] の結果に関係なく発生します。