- 基本情報
- ベスト プラクティス
- テナント
- Cloud ロボット
- フォルダー コンテキスト
- 自動化
- プロセス
- ジョブ
- Apps (アプリ)
- トリガー
- ログ
- 監視
- キュー
- アセット
- ストレージ バケット
- Test Suite - Orchestrator
- リソース カタログ サービス
- 認証
- Integrations
- クラシック ロボット
- トラブルシューティング
ビジネス例外とアプリケーション例外
トランザクションが失敗した原因については、正しい例外の種類を選択することが重要です。この選択は、Orchestrator が、次のように、そのキュー アイテムのトランザクションをリトライするかどうかに影響します。
-
アプリケーション例外は、応答しないアプリケーションなど、技術的な問題が原因のエラーです。
エラーが発生する状況としては、たとえば、従業員データベースから電話番号を抽出するプロジェクトで従業員ごとにキュー アイテムを作成する場合が考えられます。作成されたアイテムは、処理された後、財務アプリケーションに挿入されます。トランザクションを実行しようとしたときに財務アプリケーションがフリーズしていると、ロボットは電話番号を挿入すべきフィールドを見つけることができず、最終的にエラーをスローします。
このような問題は、アプリケーションのフリーズが解消されている可能性もあるため、トランザクションを再試行することで簡単に解決する場合があります。
-
ビジネス例外は、オートメーション プロジェクトで使用する特定のデータが不完全であるか欠落していることが原因で発生するエラーです。
エラーが発生する状況としては、たとえば、従業員データベースから電話番号を抽出するプロジェクトで従業員ごとにキュー アイテムを作成する場合が考えられます。作成されたアイテムは、処理された後、財務アプリケーションに挿入されます。人為的なミスによりある電話番号が 1 桁欠落していた場合、その番号を含むキュー アイテムは無効になります。すると、オートメーションは例外をスローします。財務アプリケーションの電話番号フィールドでは、不完全な番号を含むキュー アイテムは受け付けられないからです。
トランザクションを再試行しても問題が解決する可能性はまったくなく、ユーザーにエラーを通知するなどのより適切な対策を講じる必要があります。
[トランザクションのステータスを設定] アクティビティは、この差異を次のいくつかの方法で区別してプロジェクトのロジック形成に使用することができます。
- [トランザクションのステータスを設定] アクティビティがアプリケーション例外によりトランザクション処理に失敗した場合、キューの作成時に [キューを作成] ページの [自動リトライ] オプションが [はい] に設定されていた場合にはトランザクション処理がリトライされます。
- 既定では、Orchestrator はビジネス例外により失敗したトランザクションのリトライは実行しません。これは、トランザクション値とビジネス要件との間に不整合があるため、つまり、キュー アイテムが作成された初期データにエラーがある可能性があるために発生します。この種類の問題を解決するには追加のアクションが必要となるため、この種類の例外をログに記録しておくと役立ちます。
- トランザクションが特定の実行の種類で失敗した場合に、[条件分岐 (if)] または [フロー条件分岐] アクティビティを使用してさまざまなアクション セットを実行できます。たとえば、[メッセージをログ] アクティビティを使用してカスタム メッセージ ログを記録したり、[メッセージ ボックス] アクティビティを使用してイベントに関する情報が含まれるウィンドウを表示したりできます。
このようなプロジェクトの例を以下に示します。
次のスクリーンショットは、[トランザクションのステータスを設定] アクティビティのプロパティ (左側) から、Orchestrator のトランザクションの詳細ウィンドウ内の対応するフィールドへのマッピングを示しています。
[フロー条件分岐] アクティビティの [True] ブランチは、[エラーの種類] を [Business] にセットして [ステータス]を [Failed] に設定します。[False] ブランチは [エラーの種類] を [Application]にセットして [ステータス] を [Failed] に設定します。