Skip to content

gh-107944: Improve error message for function calls with bad keyword arguments #107969

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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 17, 2023

Conversation

pablogsal
Copy link
Member

@pablogsal pablogsal commented Aug 15, 2023

Py_DECREF(suggestion_keyword);
} else {
_PyErr_Format(tstate, PyExc_TypeError,
"%U() got an unexpected keyword argument '%S'",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't it be a better UX if we included a list with all the possible keywords here? We could special-case it for cases where the list is smaller than X, in order to keep the output to a reasonable size.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think is better, but on the other hand, it would be a bunch of extra code (joining the list with commas + handling errors) so not sure if is worth the complexity. @rhettinger what do you think? (Note we are referring to the fallback message when we could not find the suggestion either because of errors or because there is nothing close).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what do you think?

I think what you have now will suffice — only offer a suggestion when a plausible candidate can be found; otherwise, just note that the keyword argument doesn't match.

@pablogsal pablogsal requested a review from rhettinger August 15, 2023 10:22
@pablogsal pablogsal force-pushed the gh-107944 branch 2 times, most recently from 0c61952 to a1e2c35 Compare August 15, 2023 10:55
…yword arguments

Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
@pablogsal
Copy link
Member Author

@lysnikolaou apart from the suggestion is everything else ok with you? (In that case, could you approve the PR?)

Copy link
Member

@lysnikolaou lysnikolaou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!!

@pablogsal pablogsal merged commit 75b3db8 into python:main Aug 17, 2023
@pablogsal pablogsal deleted the gh-107944 branch August 17, 2023 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants