エラー・イベント・ハンドラーを使用したエラーのキャッチ

クライアント・サイド・ヒューマン・サービス内の任意のポイントでエラーをキャッチし、これらのエラーに対するエラー処理ロジックを実装するには、エラー・イベント・ハンドラーを使用します。 特定のエラーをキャッチするには、エラー・コードを指定し、エラー・データを指定の変数にマップすることによって、エラー・イベント・ハンドラーの実装エラー・プロパティーを設定できます。

このタスクについて

ネストされたクライアント・サイド・ヒューマン・サービスの階層内に定義されたエラー・イベント・ハンドラーは、階層内のすべてのサービスに対して表示されるわけではありません。 ネストされたクライアント・サイド・ヒューマン・サービス内に定義されたエラー・イベント・ハンドラーは、そのハンドラーが定義されているサービスからのエラーと、そのサービスより下にネストされているすべてのサービスからのエラーをキャッチします。 組み込みクライアント・サイド・ヒューマン・サービスについて詳しくは、 クライアント・サイド・ヒューマン・サービスの再使用を参照してください。
エラー・イベント・ハンドラーに実装するロジックに応じて、ネストされたクライアント・サイド・ヒューマン・サービスの実行の終了の仕方は異なります。
ページに留まるイベント ページに留まるイベント
エラー・イベント・ハンドラーで Coach の後にページに留まるイベントを使用すると、ページに留まるイベントは、フローを、そのエラー・イベント・ハンドラーを含むサービス内、または上位のクライアント・サイド・ヒューマン・サービス内の最後に表示された Coach に戻します。 ページに留まるイベントは、エラー・イベント・ハンドラー内の Coach にフローを戻すことはありません。 フローの戻り先の Coach は、エラーがキャッチされたクライアント・サイド・ヒューマン・サービスから判別されます。エラーがスローされたサービスではありません。
終了イベント 終了イベント
エラー・イベント・ハンドラーで終了イベントを使用すると、終了イベントによって、ネストされたサービスのフローは終了しますが、親のサービスでは、ネストされたサービスのアクティビティーから出るフローに従って実行が続行します。
エラー終了イベント エラー終了イベント
エラー・イベント・ハンドラーでエラー終了イベントを使用すると、エラー終了イベントによって、ネストされたサービスのフローは終了しますが、親のサービスでは、スローされたエラーをキャッチした場合、実行を続行できます。

手順

クライアント・サイド・ヒューマン・サービスにエラー・イベント・ハンドラーを追加するには、以下のステップを実行します。

  1. 作業するクライアント・サイド・ヒューマン・サービスを開きます。
  2. 「ダイアグラム」 ビューで、イベント・ハンドラー イベント・ハンドラー・ツールを追加します。
    エラー・イベント・トリガーが割り当てられ、ハンドラーがエラー・イベント・ハンドラーに変更されます。
  3. デフォルトでは、エラー・イベントはすべてのエラーをキャッチするように設定されています。 特定のエラーをキャッチするには、以下のステップを実行します。
    1. 「実装」 > 「動作」 プロパティーで、 「特定のエラーをキャッチ」を選択します。
    2. 「エラー・コード」 ピッカーをクリックして、キャッチするエラーのエラー・コードを選択します。
      例えば、タスク所有権に固有のエラーをキャッチするには、エラー・コード BPMTaskOwnerError を選択します。
    3. 「エラー・マッピング」 ピッカーをクリックして、 「変数」 ビューで以前に定義したエラー・マッピング変数にエラー・データをマップします。
  4. エラー・イベント・ハンドラーをダブルクリックして、エラー処理ロジックを実装します。
    • エラー・イベント・ハンドラーだけが認識できる追加のプライベート変数を、エラー・イベント・ハンドラー内で宣言できます。
    • Coach を使用して、ユーザーにエラーを表示できます。
  5. オプション: エラーごとに異なるエラー処理ロジックを持つことができる複数のエラー・イベント・ハンドラーを定義するには、ステップ 3 から 5 を繰り返します。 エラー・イベント・ハンドラーごとに、異なるエラー・コードまたはエラー・データを使用して、異なる種類のエラーを区別します。
  6. 「保存」 または 「編集の終了」をクリックします。
    クライアント側のヒューマン・サービスの変数宣言の詳細については、「 変数の宣言 」を参照してください