検索

6.4. エラー処理

download PDF

OpenShift Serverless Logic を使用すると、明示的な エラー処理を定義できます。一般的なエラー処理エンティティーではなく、エラーが発生した場合に何が起こるかをワークフローモデル内で定義できます。明示的なエラー処理により、ワークフローと外部システム間のやり取り中に発生する可能性のあるエラーを処理できます。エラーが発生すると、通常のワークフローのシーケンスが変更されます。このような場合、ワークフローの状態は、事前定義された状態に移行するのではなく、エラーを処理できる可能性のある代わりの状態に移行します。

各ワークフロー状態では、実行中に発生する可能性のあるエラーにのみ関連するエラー処理を定義できます。ある状態で定義されたエラー処理は、ワークフロー実行中に別の状態で発生したエラーの処理に使用できません。

ワークフロー状態の実行中に発生する可能性があり、ワークフロー定義内で明示的に処理されない不明なエラーは、ランタイム実装によって報告され、ワークフローの実行を停止する必要があります。

6.4.1. エラー定義

ワークフロー内のエラー定義は、name および code パラメーターで構成されます。この name は、wrong parameter など、自然言語によるエラーに関する簡単な説明です。code パラメーターは、実装でエラーを特定するのに役立ちます。

コード パラメーターは必須であり、エンジンはさまざまなストラテジーを使用して、提供された値を実行時に発生した例外にマッピングします。使用可能なストラテジーには、FQCN、エラーメッセージ、ステータスコードが含まれます。

ワークフローの実行中は、ワークフローの最上位レベルの errors プロパティーで既知のワークフローエラーを処理する必要があります。このプロパティーは string 型にすることができ、エラー定義を含む再利用可能な JSON または YAML 定義ファイルを参照できます。また、チェックされたエラーをワークフロー定義にインラインで定義できる array 型にすることもできます。

以下の例は、両方のタイプの定義を示しています。

再利用可能な JSON エラー定義ファイルを参照する例

{
"errors": "file://documents/reusable/errors.json"
}

再利用可能な YAML エラー定義ファイルを参照する例

errors: file://documents/reusable/errors.json

JSON ファイルを使用してワークフローエラーをインラインで定義する例

{
"errors": [
  {
    "name": "Service not found error",
    "code": "404",
    "description": "Server has not found anything matching the provided service endpoint information"
  }
]
}

YAML ファイルを使用してワークフローエラーをインラインで定義する例

errors:
  - name: Service not found error
    code: '404'
    description: Server has not found anything matching the provided service endpoint
      information

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.