GeezerVison is showing github.com — new throw() / athrow() syntax w/ single value is not clearly documented or noted as new in python 3.12 · Issue #105269 · python/cpython
new throw() / athrow() syntax w/ single value is not clearly documented or noted as new in python 3.12 #105269DescriptionDocumentation
the docs at
|
.. coroutinemethod:: agen.athrow(value) |
does not note that the single arg throw(value) calling style appears to be new in Python 3.12; docs for 3.11 do not refer to it:
|
.. coroutinemethod:: agen.athrow(type[, value[, traceback]]) |
, even though you can actually pass the "value" as the first argument to throw(). It's not clear to us here if using throw(value) will work identically on older Python versions. Looking at 396b583 it seems to be possibly 3.11 related, but in #96348 @gvanrossum claims "It allows passing either an exception, or a (type, value, traceback) triple where the value and traceback are optional. ", but this does not seem to be documented and is creating some confusion over here.
the changelog as well as the deprecation warning both refer to the "single arg version" , which will "work" on older py3 versions but has different behavior (Edit: or maybe it doesn't. we're not sure :) ).
can this document be clarified as to what differences, if any, exist between athrow(value) and athrow(type, value) and within what Python versions this new style should be accepted as an exact drop-in for the old style? thanks
Linked PRs
Activityterryjreedy commented on Jun 3, 2023 iritkatriel commented on Jun 3, 2023 @zzzeek Would you like to make a patch with doc updates? zzzeek commented on Jun 3, 2023
@zzzeek Would you like to make a patch with doc updates?
if you could tell me what the docs would say? Is there any change in behavior for athrow(value) vs. athrow(type, value, tback)? I vaguely recall similar functions where these are in fact equivalent but my co-maintainer @CaselIT is not sure iritkatriel commented on Jun 3, 2023
@zzzeek Would you like to make a patch with doc updates?
if you could tell me what the docs would say? Is there any change in behavior for athrow(value) vs. athrow(type, value, tback)? I vaguely recall similar functions where these are in fact equivalent but my co-maintainer @CaselIT is not sure
If there is then please file a bug report. zzzeek commented on Jun 3, 2023 Hi -
The bug is, "the documentation does not explain this". I dont understand the documentation, and I dont know how to write the documentation because I don't understand the API. Do I need to file a bug report under a different tag? I had the impression that "documentation bugs" was the appropriate place to post this. iritkatriel commented on Jun 4, 2023 No this issue is fine for the documentation. CaselIT commented on Jun 4, 2023
@zzzeek Would you like to make a patch with doc updates?
if you could tell me what the docs would say? Is there any change in behavior for athrow(value) vs. athrow(type, value, tback)? I vaguely recall similar functions where these are in fact equivalent but my co-maintainer @CaselIT is not sure
If there is then please file a bug report.
so the idea here is to document also for version previous to 3.12 the call signature athrow(value)? so copy paste the 3.12 documentation minus the deprecation? CaselIT commented on Jun 7, 2023 I've created this PR #105468 to 3.11 branch.
Should I also create backports to other branches? Down to what version? iritkatriel commented on Jun 7, 2023 Thank you. We may be able to do automatic backports so hold off for now. Reacted by Federico Caselli iritkatriel commented on Jun 7, 2023 Reacted by Federico Caselli
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|