Improve/verbosify error messages in various ToInteropOptions methods #481
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.
What was changed
This a small change to make (most of) the ArgumentException messages in OptionsExtensions more verbose. Specifically, this change focuses on errors caused by the absence of a property being set, and includes the name of the options class that it is missing from.
Why?
The various
ToInteropOptions(...)methods are the first place where options classes get checked for correctness. Since these are "deeper" in the SDK than what most users are digging into, it can make the error challenging to interpret.For example, we can look at an error thrown when
TargetHostis not set forHttpConnectProxyOptions:Program.csorStartup.cs, so it can be unclear that this is a user errorHttpConnectProxyOptionswould be helpfulChecklist
Closes
How was this tested:
Not necessary; no functional changes.
None known.