Treat Failures as Events: When Throwing or Returning Result Isn’t Enough
In event‑sourced systems you can model failures as domain events instead of just throwing exceptions or returning a Result. Persisting out‑of‑stock or payment‑decline events lets you query, report, and trigger other workflows, turning error handling into actionable business data. Choose the approach based on what must be persisted and what the caller needs.