Author Alistair
Recipients Alistair, docs@python
Date 2018-12-09.12:40:06
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1544359206.53.0.788709270274.issue35446@psf.upfronthosting.co.za>
In-reply-to
Content
under: https://docs.python.org/3/tutorial/errors.html

Original it says:
"Note that if the except clauses were reversed (with except B first), it would have printed B, B, B — the first matching except clause is triggered."

It should read:
"Note that if the except clauses were reversed (with except B first), it would have printed D, D, D — the first matching except clause is triggered."
 
As D is the first expression in the print statement.
So if the expression is changed to "except B:"

class B(Exception):
    pass

class C(B):
    pass

class D(C):
    pass

for cls in [B, C, D]:
    try:
        raise cls()
    except B:
        print("D")
    except C:
        print("C")
    except B:
        print("B")

Result is:
D
D
D
History
Date User Action Args
2018-12-09 12:40:06Alistairsetrecipients: + Alistair, docs@python
2018-12-09 12:40:06Alistairsetmessageid: <1544359206.53.0.788709270274.issue35446@psf.upfronthosting.co.za>
2018-12-09 12:40:06Alistairlinkissue35446 messages
2018-12-09 12:40:06Alistaircreate