Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

gh-102594: PyErr_SetObject adds note to exception raised on normalization error#102675

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
iritkatriel merged 13 commits intopython:mainfromiritkatriel:setobject-note
Mar 16, 2023

Conversation

@iritkatriel
Copy link
Member

@iritkatrieliritkatriel commentedMar 14, 2023
edited by bedevere-bot
Loading

Fixes#102594.

Co-authored-by: Ralf W. Grosse-Kunstleverwgk@google.com

@erlend-aasland
Copy link
Contributor

I was under the impression that we should not use exception notes internally. I'll try to find a link to the previous discussion (between Victor and Irit, IIRC); it may be relevant to this change.

@iritkatriel
Copy link
MemberAuthor

I was under the impression that we should not use exception notes internally. I'll try to find a link to the previous discussion (between Victor and Irit, IIRC); it may be relevant to this change.

There is no general ban on using the notes in the interpreter. The discussion you are referring to was about splitting the message into a "core error message" as arg and "explanation" on the note, so that IDEs can toggle the explanation on and off. The objection was to introduce assumptions about what is in the note, and how IDEs should handle it. There is also a general guideline that information which is known at the time the exception object is constructed does not belong on the note. Technically of course you can put it on the note, but that was not their intended use.

This PR addresses the classic use case forPEP-678: we have an exception that we did not construct, and we want to enrich it with additional information which was not available at the time that the exception was constructed.

erlend-aasland and Zac-HD reacted with thumbs up emoji

@erlend-aasland
Copy link
Contributor

Yeah, that discussion sounds familiar. Do you happen to have a link to it?

@iritkatriel
Copy link
MemberAuthor

Yeah, that discussion sounds familiar. Do you happen to have a link to it?

I don't, sorry.

@iritkatriel
Copy link
MemberAuthor

FYI@Zac-HD

@AlexWaygood
Copy link
Member

Yeah, that discussion sounds familiar. Do you happen to have a link to it?

I don't, sorry.

There was some previous discussion in:

Copy link
Member

@gvanrossumgvanrossum left a comment

Choose a reason for hiding this comment

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

(We discussed this extensively offline, but here are some nits I had already found.)

FWIW I think this is an excellent use case for notes, unlike the two issues Alex linked to.

Copy link
Member

@gvanrossumgvanrossum left a comment

Choose a reason for hiding this comment

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

LG, just one optional suggestion.

@iritkatrieliritkatriel added the 🔨 test-with-refleak-buildbotsTest PR w/ refleak buildbots; report in status section labelMar 14, 2023
@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by@iritkatriel for commit8f0f2be 🤖

If you want to schedule another build, you need to add the🔨 test-with-refleak-buildbots label again.

@bedevere-botbedevere-bot removed the 🔨 test-with-refleak-buildbotsTest PR w/ refleak buildbots; report in status section labelMar 14, 2023
@iritkatrieliritkatriel added the 🔨 test-with-refleak-buildbotsTest PR w/ refleak buildbots; report in status section labelMar 16, 2023
@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by@iritkatriel for commit140770f 🤖

If you want to schedule another build, you need to add the🔨 test-with-refleak-buildbots label again.

@bedevere-botbedevere-bot removed the 🔨 test-with-refleak-buildbotsTest PR w/ refleak buildbots; report in status section labelMar 16, 2023
@iritkatrieliritkatriel merged commit51d693c intopython:mainMar 16, 2023
@gvanrossum
Copy link
Member

PS. Shouldn'tPyErr_NormalizeException also add the same note?

@iritkatriel
Copy link
MemberAuthor

PS. Shouldn'tPyErr_NormalizeException also add the same note?

We could, but it's deprecated so I'm not sure how much it matters now.

@gvanrossum
Copy link
Member

Fair

carljm added a commit to carljm/cpython that referenced this pull requestMar 17, 2023
* main: (34 commits)pythongh-102701: Fix overflow in dictobject.c (pythonGH-102750)pythonGH-78530: add support for generators in `asyncio.wait` (python#102761)  Increase stack reserve size for Windows debug builds to avoid test crashes (pythonGH-102764)pythongh-102755: Add PyErr_DisplayException(exc) (python#102756)  Fix outdated note about 'int' rounding or truncating (python#102736)pythongh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (python#102760)pythongh-99726: Improves correctness of stat results for Windows, and uses faster API when available (pythonGH-102149)pythongh-102192: remove redundant exception fields from ssl module socket (python#102466)pythongh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (python#102743)pythongh-102737: Un-ignore ceval.c in the CI globals check (pythongh-102745)pythonGH-102748: remove legacy support for generator based coroutines from `asyncio.iscoroutine` (python#102749)pythongh-102721: Improve coverage of `_collections_abc._CallableGenericAlias` (python#102722)pythonGH-102653: Make recipe docstring show the correct distribution (python#102742)  Add comments to `{typing,_collections_abc}._type_repr` about each other (python#102752)pythongh-102594: PyErr_SetObject adds note to exception raised on normalization error (python#102675)pythongh-94440: Fix issue of ProcessPoolExecutor shutdown hanging (python#94468)pythonGH-100112:  avoid using iterable coroutines in asyncio internally (python#100128)pythongh-102690: Use Edge as fallback in webbrowser instead of IE (python#102691)pythongh-102660: Fix Refleaks in import.c (python#102744)pythongh-102738: remove from cases generator the code related to register instructions (python#102739)  ...
@iritkatrieliritkatriel deleted the setobject-note branchMarch 19, 2023 11:50
Fidget-Spinner pushed a commit to Fidget-Spinner/cpython that referenced this pull requestMar 27, 2023
warsaw pushed a commit to warsaw/cpython that referenced this pull requestApr 11, 2023
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@gvanrossumgvanrossumgvanrossum approved these changes

@markshannonmarkshannonAwaiting requested review from markshannon

Assignees

No one assigned

Labels

interpreter-core(Objects, Python, Grammar, and Parser dirs)

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

SuspectedPyErr_Fetch() behavior change

5 participants

@iritkatriel@erlend-aasland@AlexWaygood@bedevere-bot@gvanrossum

[8]ページ先頭

©2009-2025 Movatter.jp