Ich folge Apress, Beginning Python from Novice to Professional
book. Es wird erwähnt, dass:
endlich. Sie können versuchen / schließlich, wenn Sie sicherstellen müssen, dass einige Code (z. B. Bereinigungscode) wird unabhängig davon ausgeführt, ob ein Ausnahme wird ausgelöst oder nicht. Dieser Code wird dann endgültig eingefügt Klausel. Beachten Sie, dass Sie nicht beide except-Klauseln und a endlich haben können Klausel in der gleichen try-Anweisung - aber Sie können eine in die andere setzen.
Ich habe diesen Code ausprobiert:
%Vor%... und die Ausgabe ist
%Vor% Hier habe ich except
und finally
im selben try
Segment benutzt, nicht wahr? Und der Code funktioniert wie erwartet. Ich kann nicht ganz verstehen, was das Buch sagt!
Jemand bitte klarstellen. Danke.
Dies wurde seit Python 2.5 behoben und ist in der Dokumentation
Mit anderen Worten, Ihr Buch ist falsch / veraltet
Dieses Buch könnte falsch sein, fürchte ich, wie die Python-Dokumentation verwendet alle drei. Vielleicht ist es Zeit, ein neues Buch zu bekommen?
Bis python 2.4 war es nicht erlaubt, endlich mit except oder else zu kombinieren. Aber seit Python 2.5 unterstützt es wie andere objektorientierte Programmiersprachen das Kombinieren außer Blöcken und einen finally-Block. Lesen Sie die neueste Python-Dokumentation
Tags und Links python exception python-2.x python-2.5