]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-42669: Document that `except` rejects nested tuples (GH-23822) (GH-23871)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sun, 20 Dec 2020 21:18:40 +0000 (13:18 -0800)
committerGitHub <noreply@github.com>
Sun, 20 Dec 2020 21:18:40 +0000 (16:18 -0500)
commit81f706d2db0f57c4fdd747df6e0a4cffcbc54704
tree709fee1a650d160d7a6aa0560602ed0982d61fc1
parentb01091a3e71e6636d2df4db45920e820cdf7df3b
bpo-42669: Document that `except` rejects nested tuples (GH-23822) (GH-23871)

In Python 2, it was possible to use `except` with a nested tuple, and occasionally natural.  For example, `zope.formlib.interfaces.InputErrors` is a tuple of several exception classes, and one might reasonably think to do something like this:

    try:
        self.getInputValue()
        return True
    except (InputErrors, SomethingElse):
        return False

As of Python 3.0, this raises `TypeError: catching classes that do not inherit from BaseException is not allowed` instead: one must instead either break it up into multiple `except` clauses or flatten the tuple.  However, the reference documentation was never updated to match this new restriction.  Make it clear that the definition is no longer recursive.

Automerge-Triggered-By: GH:ericvsmith
(cherry picked from commit c95f8bc2700b42f4568886505a819816c9b0ba28)

Co-authored-by: Colin Watson <cjwatson@debian.org>
Co-authored-by: Colin Watson <cjwatson@debian.org>
Doc/reference/compound_stmts.rst
Misc/ACKS