The Steering Council reaffirms that PEP 765 (Disallow return/break/continue that exit a finally block) has been accepted and will remain in Python 3.14.
First, while Python has historically allowed return, break, and continue to exit a finally block, this behavior was implicit, surprising, and often led to swallowed exceptions. PEP 765 introduces a warning for such patterns, discouraging implicit code and instead guiding developers toward explicit and predictable behavior, consistent with the Zen of Python principle that “Explicit is better than implicit.”
Second, it is only a SyntaxWarning. There is no concrete plan to escalate this to a SyntaxError. There is no impact on program execution.
Third, it is too late to roll back at this stage. The appropriate time to raise such objections was during the PEP discussion period or before the beta or release candidate phases.
That said, the Steering Council remains open to further proposals. Anyone wishing to revise or extend this work should seek consensus here, probably in a new thread, to ultimately submit a new PEP. Given that 3.14 will always have this behavior, we recommend waiting for practical data from the Python user community as a whole as to the impact of this change before doing so.
A big thank you to PEP authors @iritkatriel and @ncoghlan (and everyone else involved) for the thoughtful PEP and implementation.
Warm regards,
Donghee
on behalf of the Python Steering Council