macht Python 2.6 Ausnahme abwärtskompatibel

8

Ich habe den folgenden Python-Code:

%Vor%

Dies funktioniert unter Python 2.6, aber die "as e" -Syntax schlägt unter früheren Versionen fehl. Wie kann ich das lösen? Oder mit anderen Worten, wie fange ich benutzerdefinierte Ausnahmen (und ihre Instanzvariablen) unter Python 2.6. Danke!

    
m2o 03.09.2009, 12:55
quelle

4 Antworten

9

Dies ist abwärtskompatibel:

%Vor%     
Nadia Alramli 03.09.2009, 12:56
quelle
12

Dies ist sowohl Rückwärts- als auch Vorwärtskompatibel:

%Vor%

Dies beseitigt das Mehrdeutigkeitsproblem in Python 2.5 und früher, während es immer noch keinen der Vorteile der Python 2.6 / 3-Variation verliert, d. h. es kann immer noch eindeutig mehrere Ausnahmearten erfassen, z. except (ConfigurationException, AnotherExceptionType): und, wenn eine Behandlung pro Typ erforderlich ist, kann weiterhin auf exc_info()[0]==AnotherExceptionType getestet werden.

    
Mario Ruggier 25.03.2010 08:12
quelle
5

Lesen Sie dies: Ссылка

und das: Ссылка

Verwenden Sie nicht as , verwenden Sie , .

Die as -Syntax ist speziell NICHT abwärtskompatibel, weil die , -Syntax mehrdeutig ist und in Python 3 verschwinden muss.

    
S.Lott 03.09.2009 12:58
quelle
1
%Vor%     
mipadi 03.09.2009 12:56
quelle