Error Handling Core Principles 1. Use the Result pattern for expected failures — Don't throw exceptions for things like "order not found" or "validation failed". These are expected outcomes, not exceptional conditions. See ADR-002. 2. Reserve exceptions for unexpected failures — Database connection lost, null reference bugs, network timeouts — these are truly exceptional and should propagate to the global handler. 3. Every API error returns ProblemDetails — RFC 9457 is the standard. Every error response has , , , , and optionally . 4. Validate at the boundary — Validate incoming requests at t…