Handle invalid hex representations of GUIDs #4174
Merged
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.
Identify the Bug or Feature request
Fixes a bug introduced in PR #4127, for issue #3852
Description of the Change
The
GUID(String)
constructor is documented to throw anInvalidGUIDException
when the parameter is not a valid representation of a GUID. However that was not being done when the string is not even a valid hex string. Instead, theNumberFormatException
thrown byHexFormat.parseHex()
was allowed to propagate, which was not being handled by the new map ID support.This PR changes that constructor to obey its contract. The
NumberFormatException
(anyException
really) thrown byHexFormat.parseHes()
is now caught and anInvalidGUIDException
is thrown in its place.Also some cleanup: the
byte[]
constructor forGUID
was unused, so it has been removed.Possible Drawbacks
Should be none, unless I overlooked a caller that handles the
NumberFormatException
/IllegalArgumentException
.Documentation Notes
N/A
Release Notes
N/A
This change is