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-102755: Add PyErr_DisplayException(exc)#102756

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 5 commits intopython:mainfromiritkatriel:DisplayException
Mar 16, 2023

Conversation

iritkatriel
Copy link
Member

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

@iritkatriel
Copy link
MemberAuthor

PyErr_Display is not documented, but it is mentioned in the stable abi file:

Doc/data/stable_abi.dat:function,PyErr_Display,3.2,,

I'm not sure what this means forPyErr_DisplayException.

@iritkatrieliritkatriel requested a review froma team as acode ownerMarch 16, 2023 15:33
@markshannon
Copy link
Member

It looks to me as ifPyErr_Display is some sort of internal debugging function.
Is it used anywhere?

Doesgit blame tell you anything about why it was added to the stable ABI?

@gvanrossum
Copy link
Member

It looks to me as ifPyErr_Display is some sort of internal debugging function.

It's what prints traceback when an uncaught exception occurs in the repl or in a script, (it's what the default sys.excepthook uses) so I'd hardly call it internal. It isthe standard way of producing a standard formatted exception from C.

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.

Nice cleanup!

@@ -742,7 +742,7 @@ sys_excepthook_impl(PyObject *module, PyObject *exctype, PyObject *value,
PyObject *traceback)
/*[clinic end generated code: output=18d99fdda21b6b5e input=ecf606fa826f19d9]*/
{
PyErr_Display(exctype, value, traceback);
PyErr_Display(NULL, value, traceback);
Copy link
Member

Choose a reason for hiding this comment

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

So this will hit the case wherePyErr_Display() stuffs the given traceback onto the exception if the latter doesn't already have one? (Else why not usePyErr_DisplayException(), right?)

Copy link
MemberAuthor

Choose a reason for hiding this comment

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

Exactly. This is sys.excepthook() which anyone can call so we need to deprecate the case wheretraceback != value.__traceback__ before we can usePyErr_DisplayException here. (And eventually go through some kind of migration exercise for excepthook's signature, but let's survive the__exit__ discussion first).

@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 commitab84a68 🤖

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
@gvanrossum
Copy link
Member

All good

@iritkatrieliritkatriel merged commit3f9285a intopython:mainMar 16, 2023
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 DisplayException 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

@kumaraditya303kumaraditya303kumaraditya303 left review comments

@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.

Add PyErr_DisplayException(exc) as replacement for PyErr_Display(typ, exc, tb)
5 participants
@iritkatriel@markshannon@gvanrossum@bedevere-bot@kumaraditya303

[8]ページ先頭

©2009-2025 Movatter.jp