Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello!
Rather than raising
ResponseError
, which is also used as a base class for other errors, we now raiseUnknownError
.This results in more specific error reporting when an unknown error occurs. For example, you can now handle unknown errors separately to
ResponseError
exceptions.Compatibility:
Because
UnknownError
is still a subclass ofResponseError
, if you are currently rescuingResponseError
or usingObject#is_a?
, your code will still work. If you're checking against the specific constant you will need to update your code.Why?
If you're handling errors from the library by rescuing them like this:
Because the unknown error is just a
WebPush::ResponseError
it's more difficult to handle it differently without explicitly rescuing all the other kinds ofWebPush::ResponseError
earlier. With this change you can rescueWebPush::UnknownError
before the genericWebPush::ResponseError
and handle it separately. Unknown errors can be important to look at separately rather then rescuing them along with all the other known errors.Cheers