New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Throw ArgumentNullExceptions for null arguments #570
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.NET developers expect that passing null erroneously to a method will result in an ArgumentNullException, but currently it's resulting in a custom ValidationException. There are also places where string interpolation is being used to create the error message; the work and allocation associated with that interpolation is going to happen regardless of whether the exception is thrown or not.
lemillermicrosoft
added
kernel.core
PR: ready for review
All feedback addressed, ready for reviews
labels
Apr 21, 2023
LGTM. 馃挕 A code weaver like Fody.NullGuard or a Roslyn code generator might be helpful in replacing all those runtime |
lemillermicrosoft
previously approved these changes
Apr 21, 2023
lemillermicrosoft
added
PR: ready to merge
PR has been approved by all reviewers, and is ready to merge.
PR: feedback to address
Waiting for PR owner to address comments/questions
and removed
PR: ready to merge
PR has been approved by all reviewers, and is ready to merge.
labels
Apr 21, 2023
dluc
reviewed
Apr 22, 2023
lemillermicrosoft
previously approved these changes
Apr 27, 2023
lemillermicrosoft
added
PR: ready to merge
PR has been approved by all reviewers, and is ready to merge.
and removed
PR: feedback to address
Waiting for PR owner to address comments/questions
labels
Apr 27, 2023
@stephentoub looks like there are some conflicts that need to be resolved before merging. |
Done. Thanks. |
shawncal
approved these changes
Apr 27, 2023
dluc
pushed a commit
that referenced
this pull request
Apr 29, 2023
### Motivation and Context Use ArgumentNullException as devs expect, and avoid exception-related work when not throwing. ### Description .NET developers expect that passing null erroneously to a method will result in an ArgumentNullException, but currently it's resulting in a custom ValidationException. There are also places where string interpolation is being used to create the error message; the work and allocation associated with that interpolation is going to happen regardless of whether the exception is thrown or not.
dehoward
pushed a commit
to lemillermicrosoft/semantic-kernel
that referenced
this pull request
Jun 1, 2023
### Motivation and Context Use ArgumentNullException as devs expect, and avoid exception-related work when not throwing. ### Description .NET developers expect that passing null erroneously to a method will result in an ArgumentNullException, but currently it's resulting in a custom ValidationException. There are also places where string interpolation is being used to create the error message; the work and allocation associated with that interpolation is going to happen regardless of whether the exception is thrown or not.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
.NET
Issue or Pull requests regarding .NET code
PR: ready for review
All feedback addressed, ready for reviews
PR: ready to merge
PR has been approved by all reviewers, and is ready to merge.
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.
Motivation and Context
Use ArgumentNullException as devs expect, and avoid exception-related work when not throwing.
Description
.NET developers expect that passing null erroneously to a method will result in an ArgumentNullException, but currently it's resulting in a custom ValidationException.
There are also places where string interpolation is being used to create the error message; the work and allocation associated with that interpolation is going to happen regardless of whether the exception is thrown or not.
Contribution Checklist
dotnet format