エラーハンドラ(error handler )は、Make.comシナリオの実行中にエラーが発生したときにこれを処理する方法です。エラーハンドラを使用すると、シナリオの安定性と柔軟性を高めることができます。
エラーハンドラは5種類あり、発生状況に合わせてエラーハンドラの動作を設定することができます。例えば、Twitterやブロガーに自動発行を行う際、apiが原因でエラーが発生した場合、エラーハンドラを使用することができます。
まず、下の写真を見て、シナリオの現況でモジュールでエラーが発生した場合、add error handler を使って


オプション | 役割 | 使用状況 |
Break | シナリオを直ちに中断 | データの整合性が非常に重要な作業でエラーが発生した場合、実行を中断します。 |
Commit | 以前の作業は完了、エラー後の作業は中断。 | エラー前の作業結果を維持する必要がある場合。 |
Ignore | エラーを無視して次の作業を実行 | エラーが発生してもワークフロー全体に影響を与えないように設計する場合。 |
Resume | エラー発生時の再試行 | 一時的なエラーが発生した可能性がある場合。 |
ロールバック | すべての作業を取り消し、元の状態に復元 | タスクがトランザクションベースで、エラーが発生した場合、タスク全体をキャンセルする必要がある場合。 |
1. Break
- 役割
- エラーが発生すると、シナリオの実行を直ちに中断します。
- 実行中だったすべてのタスクが終了し、エラーが発生した部分でこれ以上進行されません。
- 使用状況
- 致命的なエラーにより、シナリオの実行が不可能な場合。
- データの整合性が重要で、エラー発生時に実行を中断する必要がある場合。
- 例:金融取引、データベースの更新などでエラーが発生したときの実行停止。
- 例
- 顧客注文データの更新中にエラーが発生した場合、誤ったデータを保存するのを防ぐためにシナリオを中断。
2. Commit
- 役割
- エラーが発生する前に実行されたすべての作業は**正常に完了(Commit)**されます。
- エラーが発生した後の作業は実行されず、以前の作業は維持されます。
- 使用状況
- 前の段階で実行された作業をそのまま維持する必要がある場合。
- エラーが発生しても、正常に処理されたデータは保存されるようにする必要がある場合。
- 例:メール送信後、データベースの更新でエラーが発生してもメールはそのまま維持する。
- 例
- 顧客メール送信後、データベースに保存中にエラーが発生した場合、既に送信されたメール作業は維持。
3. Ignore
- 役割
- エラーを無視してシナリオを続行します。
- エラーが発生したタスクはスキップし、次のタスクを実行します。
- 使用状況
- エラーが発生したかどうかに関係なく、残りのタスクを引き続き実行する必要がある場合。
- 非必要なタスクでエラーが発生しても、ワークフロー全体が影響を受けないようにする必要がある場合。
- 例:ログ保存作業でエラーが発生しても、主要なプロセスは実行されなければならない場合。
- 例
- ソーシャルメディアに投稿をアップロードする際、一部のプラットフォームでエラーが発生しても、他のプラットフォームには投稿がアップロードされるようにする。
4. Resume
- 役割
- エラーが発生したモジュールで再試行します。
- 一定時間待機するか、エラー条件が解決されるまで再試行し、設定された回数だけ繰り返し可能です。
- 使用状況
- 一時的な問題(例えば、ネットワークエラー、API制限)によりエラーが発生した可能性がある場合。
- 再試行が有効な作業で使用できます。
- 例:APIリクエストが失敗した場合、しばらくして再試行。
- 例
- 外部APIへのデータ転送中に1回のネットワークエラーが発生したが、再試行で成功する可能性がある場合。
resumeに関する詳しい使い方はこの記事で確認することができます。
5. Rollback
- 役割
- エラーが発生する前の状態に**復元(Undo)**します。
- すでに実行された作業もキャンセルされ、元の状態に戻ります。
- 使用状況
- トランザクションベースの作業でデータの整合性を保証する必要がある場合。
- エラー発生時、以前に処理された作業を取り消す必要がある場合。
- 例:銀行送金の一部ステップが失敗した場合、送金全体をキャンセルする。
- 例
- 顧客決済情報の更新中にエラーが発生した場合、顧客アカウントに既に反映された決済データをロールバック。
概要まとめ
オプション | 役割 | 使用状況 |
Break(ブレイク) | シナリオを即座に中断 | データの整合性が非常に重要な作業でエラーが発生した場合、実行を中断します。 |
Commit | 以前の作業は完了、エラー後の作業は中断。 | エラー前の作業結果を維持する必要がある場合。 |
Ignore | エラーを無視して次の作業を実行 | エラーが発生してもワークフロー全体に影響を与えないように設計する場合。 |
Resume | エラー発生時の再試行 | 一時的なエラーが発生した可能性がある場合。 |
ロールバック | すべての作業を取り消し、元の状態に復元 | タスクがトランザクションベースで、エラーが発生した場合、タスク全体をキャンセルする必要がある場合。 |
追加ヒント
- Error Handlerを設定する際は、作業の重要性とデータの整合性を考慮してください。
- エラーが発生した場合、正確な原因を把握できるようにログ記録を残してください。
各エラー処理オプションは、目的に応じて組み合わせて使用することもできます。