エラー処理の追加

シナリオの実行中にエラーが発生する可能性があります。

例えば、次の理由でエラーが発生する可能性があります。

  • エラーが発生したため、サービスを利用できません
  • サービスが予期しないデータで応答する
  • 入力データの検証が失敗する
  • その他の理由

シナリオの実行中にモジュールでエラーが発生し、モジュールまたはそのルートにエラー処理ルートが添付されていない場合、デフォルトのエラー処理ロジックが実行されます。

エラーハンドラーをモジュールまたはルートに追加することで、デフォルトのエラー処理ロジックを独自のロジックに置き換えることができます。 Adobe Workfront Fusionには、エラーハンドラールートの最後に挿入できる5つの異なるディレクティブが用意されています。

デフォルトのエラー処理について詳しくは、​ エラータイプ ​を参照してください。

エラー処理ディレクティブについて詳しくは、​ エラー処理のディレクティブ ​を参照してください。

NOTE
Workfront Fusionは、ルートレベルのエラー処理をサポートしており、個々のモジュールにエラーハンドラーを添付するのではなく、ルートごとに1回エラー処理ロジックを定義できます。
ルートレベルのエラー処理は、特に高度なマルチブランチ自動処理では、よりスケーラブルで一貫性のある、アーキテクチャ的にクリーンな方法でエラーを管理できるので、ルートレベルのエラー処理をベストプラクティスとして使用することをお勧めします。

アクセス要件

展開すると、この記事の機能のアクセス要件が表示されます。
table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header
Adobe Workfront パッケージ

任意の Adobe Workfront Workflow パッケージと任意の Adobe Workfront Automation および Integration パッケージ

Workfront Ultimate

Workfront Fusion を追加購入した Workfront Prime および Select パッケージ。

Adobe Workfront ライセンス

標準

Work またはそれ以上

製品 組織が Workfront Automation および Integration を含まない Select またはPrime Workfront パッケージを持っている場合は、Adobe Workfront Fusion を購入する必要があります。

この表の情報について詳しくは、ドキュメントのアクセス要件を参照してください。

エラーハンドラーの場所と階層

個々のモジュールまたはルーターにエラーハンドラーを追加できます。

モジュールに添付されたエラーハンドラーは、そのモジュールの処理中に発生したエラーに対してのみトリガーします。

ルータのルート上の任意のモジュールで発生したエラーに対して、ルータのトリガーに接続されたエラーハンドラ。 これには、自分のルータにエラーハンドラを持たない子ルートで発生したエラーが含まれます。

エラーは、次の階層で処理されます。

  1. モジュール
  2. ルーター
  3. 親ルータ
  4. デフォルトのエラー処理

次のシナリオ例を考えてみましょう。

​ ルートとエラーハンドラーを示すシナリオの例

  1. このモジュールにはエラーハンドラーがあります。 このモジュールのエラーは、Commit ディレクティブによって処理されます。
  2. このモジュールにはエラーハンドラーがありません。 このモジュールでエラーが発生した場合、そのエラーはモジュールのルートを作成したルータ上のハンドラによって処理されます。 このモジュール上のエラーは、Rollback ディレクティブによって処理されます。
  3. このモジュールにはエラーハンドラも、モジュールのルートを作成したルータもありませんが、次のルータにエラーハンドラがあります。 このモジュール上のエラーは、Break ディレクティブによって処理されます。
NOTE
  • モジュールにエラーハンドラー、そのルーター、または親ルーターがない場合、そのモジュールのエラーはデフォルトのエラー処理で処理されます。
  • グローバルエラーハンドラーを作成するには、シナリオの開始部付近にルーターを作成し、そのルーターにエラー処理を添付します。

エラーハンドラーの追加

エラーハンドラーは、モジュールまたはルーターに追加できます。

モジュールへのエラーハンドラーの追加

モジュールにエラーハンドラーを追加するには:

  1. 左側のパネルの「シナリオ」タブをクリックします。

  2. エラー処理ルートを追加するシナリオを選択します。

  3. シナリオの任意の場所をクリックして、シナリオエディターに入ります。

  4. エラーハンドラーのルートを追加するモジュールを右クリックし、エラーハンドラーを追加​を選択します。

    ​ エラーハンドラーのルート ​

    エラーハンドラーのルートがモジュールに追加されます。 モジュールがルートの最後のモジュールである場合、エラーハンドラーはモジュールに直接従います。 モジュールの後にモジュールが多い場合は、別のエラーハンドラールートが追加されます。

    エラー処理モジュールには、ディレクティブのリストと、シナリオで使用されているアプリが表示されます。

    ​ エラーのルート ​

  5. いずれかのディレクティブを選択します。

    または

    1 つ以上のモジュールをエラーハンドラールートに追加します。

    ルートにさらにモジュールを追加する場合は、デフォルトでIgnore ディレクティブが適用されます。 エラーが発生した場合は、そのルートの後続のモジュールが処理されます。

    ディレクティブについて詳しくは、この記事の「​ ディレクティブの処理エラー」を参照してください。

  6. (オプション)エラー処理ルートにフィルターを追加します。 手順については、「​ フィルターとネストをエラー処理ルートに追加」を参照してください。

NOTE
エラーハンドラルートは透明な円で示され、通常のルートは不透明の円で示されます。

ルーターへのエラーハンドラーの追加

  1. 左側のパネルの「シナリオ」タブをクリックします。

  2. エラー処理ルートを追加するシナリオを選択します。

  3. シナリオの任意の場所をクリックして、シナリオエディターに入ります。

  4. エラーハンドラーのルートを追加するルーターを右クリックし、エラーハンドラーを追加​を選択します。

    ​ エラーハンドラーのルート ​

    エラーハンドラーのルートがルーターに追加されます。

    エラー処理モジュールには、ディレクティブのリストと、シナリオで使用されているアプリが表示されます。

    ​ エラーのルート ​

  5. いずれかのディレクティブを選択します。

    または

    1 つ以上のモジュールをエラーハンドラールートに追加します。

    ルートにさらにモジュールを追加する場合は、デフォルトでIgnore ディレクティブが適用されます。 エラーが発生した場合は、そのルートの後続のモジュールが処理されます。

    ディレクティブについて詳しくは、この記事の「​ ディレクティブの処理エラー」を参照してください。

  6. (オプション)エラー処理ルートにフィルターを追加します。 手順については、「​ フィルターとネストをエラー処理ルートに追加」を参照してください。

エラー処理ディレクティブ

ディレクティブについて、以下で簡単に説明します。 詳しくは、​ エラー処理のディレクティブ ​を参照してください。

5つのディレクティブがあり、エラー後にシナリオ実行が続行されるかどうかに基づいて、次のカテゴリに分類できます。

次のディレクティブを使用して、シナリオの実行が継続されるようにします。

  • 再開:エラーを含むモジュールの代替出力を指定できます。 シナリオの実行ステータスは成功とマークされます。

  • 無視:エラーを無視します。 シナリオの実行ステータスは成功とマークされます。

  • 一時停止:入力を不完全な実行のキューに保存します。 シナリオの実行ステータスは警告としてマークされます。

    詳細については、不完全な実行を表示して解決するを参照してください。

エラーが発生したときにシナリオの実行が停止する場合は、次のいずれかのディレクティブを使用します。

  • ロールバック: シナリオの実行を即座に停止し、そのステータスをエラーとしてマークします。
  • コミット: シナリオの実行を即座に停止し、そのステータスを成功としてマークします。

リソース

エラー処理について詳しくは、以下を参照してください。

recommendation-more-help
workfront-fusion-help-workfront-fusion