Currently, a failed check-in just returns false. Users will most likely want to fire and forget, where returning false would hide errors.
Introduce a Snitcher::Error class with subclasses for all of the ways a check-in might fail. Failed check-ins will raise the appropriate error.
All errors should include a descriptive message useful for diagnosing the issue. If due to a 4xx or 5xx response from the check-in request, the HTTP response object should also be provided within the error instance.
Currently, a failed check-in just returns
false. Users will most likely want to fire and forget, where returningfalsewould hide errors.Introduce a
Snitcher::Errorclass with subclasses for all of the ways a check-in might fail. Failed check-ins will raise the appropriate error.All errors should include a descriptive message useful for diagnosing the issue. If due to a 4xx or 5xx response from the check-in request, the HTTP response object should also be provided within the error instance.