エラーハンドラについて(Commit、Rollback、Ignoreの解説)

エラーハンドラについて(Commit、Rollback、Ignoreの解説)

Makeのシナリオでは、各モジュールにのエラーハンドラを追加しておく事で、モジュールがエラーになった場合の処理を予め指定できます。


※エラーハンドラが設定されていないモジュールでエラーが発生した場合は、その時点でシナリオは終了します。(ACIDモジュールは、Auto commitの設定に基づいて、処理されます。)

前回の記事『ACIDモジュールとAuto commitについて』で解説したDataStore、シナリオを使用してCommit、RollBack、Ignoreの解説を行います。Auto commitはNoに設定しています。

Commit

エラーになった直前のモジュールまでのすべてのACIDモジュール操作をコミットし、シナリオを終了します。

エラーハンドラにCommitを追加してシナリオを実行します。

Bandle2でエラーが発生し、直前までの操作をコミットしてシナリオを終了しています。


DataStoreを確認すると、Bandle1(りんごの在庫を50にする)操作がコミットされていることが確認できます。

Rollback

エラーになった直前のモジュールまでのすべてのACIDモジュール操作をロールバックし、シナリオを終了します。

エラーハンドラにRollbackを追加してシナリオを実行します。

Bandle2でエラーが発生し、直前までの操作をロールバックしてシナリオを終了しています。


DataStoreを確認すると、Bandle1(りんごの在庫を50にする)操作がロールバックされていることが確認できます。

Ignore

エラーを無視してシナリオを継続します。エラーになったBandleはシナリオから削除し、残りのBandleを継続処理します。

エラーハンドラにIgnoreを追加してシナリオを実行します。

Bandle2のエラーを無視し、最後までシナリオを実行しています。


DataStoreを確認すると、エラーになったBandle2(みかんの在庫を50にする)操作を無視し、最後まで処理が実行されていることが確認できます。

Make Tipsカテゴリの最新記事