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.
That's mostly a POC to improve the error handling around
Errno
, as pointed by @bararchy on Gitter.Content of this PR
LibC
Errno constants to facilitate their read.Error::Errno
exception class.Goal
Having different error class for each
Errno
allows to rescue them, instead of having to compare their integer values with==
.The end user would also be able to figure out what's the error name instead of having the
Errno
class with#errno
as an integer.What's next
There are still places where the
Errno::Error
is exposed directly instead of a subclass.This is an important breaking change, we have to weigh carefully the pros/cons before any action.