If Error

この関数では、フローを停止せずにエラーを処理するための別のアクションを指定できます。

If Error関数は、フローのコンテナーとして表示され、以下のオプションを指定できます。

  • Try:1つ以上のアクションや関数を実行します。

  • If Error[Try]セクションのいずれかのステップでエラーが発生した場合に実行する代替アクションや機能を指定します。

  • Outputs:フローは以後のステップで、任意の出力フィールドを使用できます。それぞれの出力に割り当てられる値は、エラーが発生したかどうかによって異なります。

ドロップダウンメニューを使用して、TryステップとIf Errorステップを切り替えます。

Try

新しいIf Errorコンテナーをフローに追加する時は、まず[Try]セクションでステップを定義する必要があります。これらのステップは、実行すべき1つ以上のアクションや関数で構成されます。このコンテナーに、フローの場合と同様にカードを追加することができます。

フローに存在する既存の一連のステップにエラー処理を追加するには、Tryブロックに含めるカードの後に、If Errorカードをフローに挿入し、既存のカードを最も右側のものから1つずつ順にドラッグします。

手動でエラーを修正する前にフローのステップを自動的に再試行するには、「フローにおけるカードのエラー処理の設定」を参照してください。

If Error

If Errorブロックには、エラーを処理するためのステップが含まれます。フローの場合と同様にアクションや関数を追加することができます。

複雑なエラー処理による解析エラーを避けるために、OktaではネストされたIf Errorブロックを3つまでに制限することをお勧めします。

エラーオブジェクトが各If Errorブロックに追加されます。このオブジェクトには、Tryブロック内の次のエラーの詳細が含まれており、結果としてIf Errorブロックに切り替わります。

  • message:エラーメッセージのテキスト(ある場合)。

  • code500などのエラーコード。

  • method:エラーが起こった場所のステップのID

  • flo:フローのID。

  • execution:フローの特定の実行のID。エラー処理のステップでは、これらの値を使用できます。たとえば、エラーの詳細をメールで送信したり、予期されるエラーかどうかに応じてフローを進めるかどうかを確認したりできます。

ReturnカードとContinue Ifカードは通常はフローを終了しますが、TryまたはIf Errorブロック内では動作が異なります。TryIf Errorのブロックは、匿名のヘルパーフローと考えることができます。ヘルパーフローを呼び出したときと同様に、Return関数カードを使用すると親に戻ります。このため、TryまたはIf Errorブロック内でReturnまたはContinue If(falseの場合)カードを使用すると、If Errorコンテナーの直後のステップに実行が進みます。

フローを継続せず停止するには、Return ErrorReturn Error Ifを使用するか、Continue IfカードをIf Errorブロックの外側で使用します。

Outputs(出力)

If Error関数の前に実行されるカードからTryまたはIf Errorブロックの中に出力をドラッグできますが、TryまたはIf Errorブロックの中からIf Error関数の後に実行されるカードに出力をドラッグすることはできません。これは、TryIf Error内のステップは必ず実行されるとは限らないためです。この問題を回避するには、オプションのOutputs機能を使用します。

  1. 出力にアクセスするには、If Errorコンテナーの右上にある[View Outputs(出力の表示)]をクリックします。これにより、TryブロックとIf Errorブロックの右側にペインが開きます。

  2. クリックして新しい出力を追加します。名前を入力し、型を選択します。2つの入力が各出力の下に表示されます。

  3. 出力をTryブロックからいずれかのフィールドにドラッグします。これはエラーが発生しない場合です。

  4. 出力をIf Errorブロックからもう一方のフィールドにドラッグします。これはエラーが発生した場合です。

このペインの出力は、フローの以後のステップにマップできます。

関連項目

関数

Workflows要素