Error-handling conventions for a Java service. Use when throwing, catching, or wrapping exceptions. Domain exceptions are benign outcomes (callers report them, not crash), adapter exceptions are credential-free (never leak a raw third-party error, body, or secret), and a "row not found" at the persistence boundary becomes a domain/empty result, not a leaked SQL exception.