This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients docs@python, vstinner
Date 2022-04-05.23:22:06
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1649200926.89.0.78220733937.issue47236@roundup.psfhosted.org>
In-reply-to
Content
It would be nice to document the bpo-40222 changes in What's New in Python 3.11 and in the CodeType documentation:

* https://docs.python.org/dev/library/types.html#types.CodeType
* https://docs.python.org/dev/whatsnew/3.11.html

Users of types.CodeType.replace(co_code=new_code) must now pass co_exceptiontable or exception handling will no longer work as expected. Callers are responsible to build co_exceptiontable.

Currently, the format of this table is documented at:
https://github.com/python/cpython/blob/main/Objects/exception_handling_notes.txt

There is no public function to encode this table, it's also the responsibility of the caller.

See also bpo-47185 "code.replace(co_code=new_code) no longer catch exceptions on Python 3.11" closed as "won't fix" for the background.
History
Date User Action Args
2022-04-05 23:22:06vstinnersetrecipients: + vstinner, docs@python
2022-04-05 23:22:06vstinnersetmessageid: <1649200926.89.0.78220733937.issue47236@roundup.psfhosted.org>
2022-04-05 23:22:06vstinnerlinkissue47236 messages
2022-04-05 23:22:06vstinnercreate