Use more detailed error message if constructor fails #26
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.
Currently, if socket construction fails, the exception uses the message in
$!
. Because this error message comes from the last system call, it has less information that the specific message in$IO::Socket::errstr
.I recommend changing to use
$IO::Socket::errstr
to populate the exception if the socket cannot be created.From the docs of
IO::Socket::IP
:As an example, if the domain name of a WHOIS server cannot be resolved (e.g.
whois.tonic.to
), the message in$!
isInvalid argument
, whereas$IO::Socket::errstr
isName or service not known
. The latter indicates a DNS error, whereas the former is difficult to understand.