エラー処理の追加
シナリオの実行中にエラーが発生する可能性があります。
例えば、次の理由でエラーが発生する可能性があります。
- エラーが発生したため、サービスを利用できません
- サービスが予期しないデータで応答する
- 入力データの検証が失敗する
- その他の理由
シナリオの実行中にモジュールでエラーが発生し、モジュールまたはそのルートにエラー処理ルートが添付されていない場合、デフォルトのエラー処理ロジックが実行されます。
エラーハンドラーをモジュールまたはルートに追加することで、デフォルトのエラー処理ロジックを独自のロジックに置き換えることができます。 Adobe Workfront Fusionには、エラーハンドラールートの最後に挿入できる5つの異なるディレクティブが用意されています。
デフォルトのエラー処理について詳しくは、 エラータイプ を参照してください。
エラー処理ディレクティブについて詳しくは、 エラー処理のディレクティブ を参照してください。
ルートレベルのエラー処理は、特に高度なマルチブランチ自動処理では、よりスケーラブルで一貫性のある、アーキテクチャ的にクリーンな方法でエラーを管理できるので、ルートレベルのエラー処理をベストプラクティスとして使用することをお勧めします。
アクセス要件
| 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 を購入する必要があります。 |
この表の情報について詳しくは、ドキュメントのアクセス要件を参照してください。
エラーハンドラーの場所と階層
個々のモジュールまたはルーターにエラーハンドラーを追加できます。
モジュールに添付されたエラーハンドラーは、そのモジュールの処理中に発生したエラーに対してのみトリガーします。
ルータのルート上の任意のモジュールで発生したエラーに対して、ルータのトリガーに接続されたエラーハンドラ。 これには、自分のルータにエラーハンドラを持たない子ルートで発生したエラーが含まれます。
エラーは、次の階層で処理されます。
- モジュール
- ルーター
- 親ルータ
- デフォルトのエラー処理
例
次のシナリオ例を考えてみましょう。
- このモジュールにはエラーハンドラーがあります。 このモジュールのエラーは、Commit ディレクティブによって処理されます。
- このモジュールにはエラーハンドラーがありません。 このモジュールでエラーが発生した場合、そのエラーはモジュールのルートを作成したルータ上のハンドラによって処理されます。 このモジュール上のエラーは、Rollback ディレクティブによって処理されます。
- このモジュールにはエラーハンドラも、モジュールのルートを作成したルータもありませんが、次のルータにエラーハンドラがあります。 このモジュール上のエラーは、Break ディレクティブによって処理されます。
- モジュールにエラーハンドラー、そのルーター、または親ルーターがない場合、そのモジュールのエラーはデフォルトのエラー処理で処理されます。
- グローバルエラーハンドラーを作成するには、シナリオの開始部付近にルーターを作成し、そのルーターにエラー処理を添付します。
エラーハンドラーの追加
エラーハンドラーは、モジュールまたはルーターに追加できます。
モジュールへのエラーハンドラーの追加
モジュールにエラーハンドラーを追加するには:
-
左側のパネルの「シナリオ」タブをクリックします。
-
エラー処理ルートを追加するシナリオを選択します。
-
シナリオの任意の場所をクリックして、シナリオエディターに入ります。
-
エラーハンドラーのルートを追加するモジュールを右クリックし、エラーハンドラーを追加を選択します。
エラーハンドラーのルートがモジュールに追加されます。 モジュールがルートの最後のモジュールである場合、エラーハンドラーはモジュールに直接従います。 モジュールの後にモジュールが多い場合は、別のエラーハンドラールートが追加されます。
エラー処理モジュールには、ディレクティブのリストと、シナリオで使用されているアプリが表示されます。
-
いずれかのディレクティブを選択します。
または
1 つ以上のモジュールをエラーハンドラールートに追加します。
ルートにさらにモジュールを追加する場合は、デフォルトでIgnore ディレクティブが適用されます。 エラーが発生した場合は、そのルートの後続のモジュールが処理されます。
ディレクティブについて詳しくは、この記事の「 ディレクティブの処理エラー」を参照してください。
-
(オプション)エラー処理ルートにフィルターを追加します。 手順については、「 フィルターとネストをエラー処理ルートに追加」を参照してください。
ルーターへのエラーハンドラーの追加
-
左側のパネルの「シナリオ」タブをクリックします。
-
エラー処理ルートを追加するシナリオを選択します。
-
シナリオの任意の場所をクリックして、シナリオエディターに入ります。
-
エラーハンドラーのルートを追加するルーターを右クリックし、エラーハンドラーを追加を選択します。
エラーハンドラーのルートがルーターに追加されます。
エラー処理モジュールには、ディレクティブのリストと、シナリオで使用されているアプリが表示されます。
-
いずれかのディレクティブを選択します。
または
1 つ以上のモジュールをエラーハンドラールートに追加します。
ルートにさらにモジュールを追加する場合は、デフォルトでIgnore ディレクティブが適用されます。 エラーが発生した場合は、そのルートの後続のモジュールが処理されます。
ディレクティブについて詳しくは、この記事の「 ディレクティブの処理エラー」を参照してください。
-
(オプション)エラー処理ルートにフィルターを追加します。 手順については、「 フィルターとネストをエラー処理ルートに追加」を参照してください。
エラー処理ディレクティブ
ディレクティブについて、以下で簡単に説明します。 詳しくは、 エラー処理のディレクティブ を参照してください。
5つのディレクティブがあり、エラー後にシナリオ実行が続行されるかどうかに基づいて、次のカテゴリに分類できます。
次のディレクティブを使用して、シナリオの実行が継続されるようにします。
-
再開:エラーを含むモジュールの代替出力を指定できます。 シナリオの実行ステータスは成功とマークされます。
-
無視:エラーを無視します。 シナリオの実行ステータスは成功とマークされます。
-
一時停止:入力を不完全な実行のキューに保存します。 シナリオの実行ステータスは警告としてマークされます。
詳細については、不完全な実行を表示して解決するを参照してください。
エラーが発生したときにシナリオの実行が停止する場合は、次のいずれかのディレクティブを使用します。
- ロールバック: シナリオの実行を即座に停止し、そのステータスをエラーとしてマークします。
- コミット: シナリオの実行を即座に停止し、そのステータスを成功としてマークします。
リソース
エラー処理について詳しくは、以下を参照してください。