ちょっとしたベストプラクティスのアドバイスを探しています。
ユーザーが何らかの価格表を保存できるサービス「価格表サービス」があります。
一貫性のないデータを残す可能性のあるインスタンスまたは構成がいくつかあります。これらのイベントでは、関数の実行を終了したいと考えています。
たとえば、customerId がオブジェクトに設定されていない場合や、営業担当者の userId がデータベースで見つからなかった場合などです。
私の質問は、ビジネス ロジック エラーが発生したときに関数を終了する最善の方法は何ですか?
例外がその場で実行を停止し、例外を再スローできるようにする方法が気に入っています。それに関する問題は、例外はフロー制御に使用されるべきではないと聞いたことがあります。
現在、ネストされた if/else がたくさんあるので、ローカル変数$service_error_message
が設定されていない限り、トランザクションをコミットしません。
が null の場合$service_error_message
、バリデーターはどれも失敗していないことがわかり、保存しても問題ありません。
これらのシナリオをより適切に処理する方法について提案がある人はいますか?