MAKEエラーハンドラー(error handler)モジュール4種類 + モジュール別役割及び使用状況

エラーハンドラ(error handler )は、Make.comシナリオの実行中にエラーが発生したときにこれを処理する方法です。エラーハンドラを使用すると、シナリオの安定性と柔軟性を高めることができます。

エラーハンドラは5種類あり、発生状況に合わせてエラーハンドラの動作を設定することができます。例えば、Twitterやブロガーに自動発行を行う際、apiが原因でエラーが発生した場合、エラーハンドラを使用することができます。

まず、下の写真を見て、シナリオの現況でモジュールでエラーが発生した場合、add error handler を使って

オプション役割使用状況
Breakシナリオを直ちに中断データの整合性が非常に重要な作業でエラーが発生した場合、実行を中断します。
Commit以前の作業は完了、エラー後の作業は中断。エラー前の作業結果を維持する必要がある場合。
Ignoreエラーを無視して次の作業を実行エラーが発生してもワークフロー全体に影響を与えないように設計する場合。
Resumeエラー発生時の再試行一時的なエラーが発生した可能性がある場合。
ロールバックすべての作業を取り消し、元の状態に復元タスクがトランザクションベースで、エラーが発生した場合、タスク全体をキャンセルする必要がある場合。

1. Break

  1. 役割
    • エラーが発生すると、シナリオの実行を直ちに中断します。
    • 実行中だったすべてのタスクが終了し、エラーが発生した部分でこれ以上進行されません。
  • 使用状況
    • 致命的なエラーにより、シナリオの実行が不可能な場合。
    • データの整合性が重要で、エラー発生時に実行を中断する必要がある場合。
      • 例:金融取引、データベースの更新などでエラーが発生したときの実行停止。
    • 顧客注文データの更新中にエラーが発生した場合、誤ったデータを保存するのを防ぐためにシナリオを中断。

2. Commit

  • 役割
    • エラーが発生する前に実行されたすべての作業は**正常に完了(Commit)**されます。
    • エラーが発生した後の作業は実行されず、以前の作業は維持されます。
  • 使用状況
    • 前の段階で実行された作業をそのまま維持する必要がある場合。
    • エラーが発生しても、正常に処理されたデータは保存されるようにする必要がある場合。
      • 例:メール送信後、データベースの更新でエラーが発生してもメールはそのまま維持する。
    • 顧客メール送信後、データベースに保存中にエラーが発生した場合、既に送信されたメール作業は維持。

3. Ignore

  • 役割
    • エラーを無視してシナリオを続行します。
    • エラーが発生したタスクはスキップし、次のタスクを実行します。
  • 使用状況
    • エラーが発生したかどうかに関係なく、残りのタスクを引き続き実行する必要がある場合。
    • 非必要なタスクでエラーが発生しても、ワークフロー全体が影響を受けないようにする必要がある場合。
      • 例:ログ保存作業でエラーが発生しても、主要なプロセスは実行されなければならない場合。
    • ソーシャルメディアに投稿をアップロードする際、一部のプラットフォームでエラーが発生しても、他のプラットフォームには投稿がアップロードされるようにする。

4. Resume

  • 役割
    • エラーが発生したモジュールで再試行します。
    • 一定時間待機するか、エラー条件が解決されるまで再試行し、設定された回数だけ繰り返し可能です。
  • 使用状況
    • 一時的な問題(例えば、ネットワークエラー、API制限)によりエラーが発生した可能性がある場合。
    • 再試行が有効な作業で使用できます。
      • 例:APIリクエストが失敗した場合、しばらくして再試行。
    • 外部APIへのデータ転送中に1回のネットワークエラーが発生したが、再試行で成功する可能性がある場合。

resumeに関する詳しい使い方はこの記事で確認することができます。

https://contentflow.co.kr/2025/01/24/make-%ec%98%a4%eb%a5%98%ec%b2%98%eb%a6%ac%ea%b8%b0-error-handler-resume-%ec%82%ac%ec%9a%a9%eb%b0%a9%eb%b2%95/

5. Rollback

  • 役割
    • エラーが発生する前の状態に**復元(Undo)**します。
    • すでに実行された作業もキャンセルされ、元の状態に戻ります。
  • 使用状況
    • トランザクションベースの作業でデータの整合性を保証する必要がある場合。
    • エラー発生時、以前に処理された作業を取り消す必要がある場合。
      • 例:銀行送金の一部ステップが失敗した場合、送金全体をキャンセルする。
    • 顧客決済情報の更新中にエラーが発生した場合、顧客アカウントに既に反映された決済データをロールバック。

概要まとめ

オプション役割使用状況
Break(ブレイク)シナリオを即座に中断データの整合性が非常に重要な作業でエラーが発生した場合、実行を中断します。
Commit以前の作業は完了、エラー後の作業は中断。エラー前の作業結果を維持する必要がある場合。
Ignoreエラーを無視して次の作業を実行エラーが発生してもワークフロー全体に影響を与えないように設計する場合。
Resumeエラー発生時の再試行一時的なエラーが発生した可能性がある場合。
ロールバックすべての作業を取り消し、元の状態に復元タスクがトランザクションベースで、エラーが発生した場合、タスク全体をキャンセルする必要がある場合。

追加ヒント

  • Error Handlerを設定する際は、作業の重要性とデータの整合性を考慮してください。
  • エラーが発生した場合、正確な原因を把握できるようにログ記録を残してください。

各エラー処理オプションは、目的に応じて組み合わせて使用することもできます。

Content View