Try-Except vs. If-Else in der Ausnahmebehandlung
Bei der Python-Programmierung entsteht das Dilemma zwischen der Verwendung von Try-Except-Blöcken und if -else-Anweisungen zur Behandlung von Ausnahmen. Obwohl beide Ansätze gültig sind, begünstigen bestimmte Faktoren die Verwendung von Try-Except in bestimmten Szenarien.
Situationen, die Try-Except begünstigen:
Pythonischer Ansatz:
Die Python-Philosophie betont die Verwendung von Ausnahmen und fördert diese die Praxis „Es ist leichter, um Vergebung zu bitten als um Erlaubnis“ (EAFP). Dieser Ansatz bevorzugt die elegante Behandlung von Ausnahmen, anstatt sich ausschließlich auf Prüfungen zu verlassen, um sie zu vermeiden.
Beispiel:
Stellen Sie sich das folgende Szenario für den Zugriff auf ein Element in einer Liste vor:
if len(my_list) >= 4:
x = my_list[3]
else:
x = 'NO_ABC'
Dieser if-else-Block ist redundant, da er eine Prüfung durchführt, um eine Ausnahme zu verhindern, die nur unter bestimmten Umständen auftritt.
Im Gegensatz dazu ist der Try-Except-Ansatz beides Pythonisch und effizient:
try:
x = my_list[3]
except IndexError:
x = 'NO_ABC'
Durch das explizite Abfangen des IndexError und die Zuweisung eines geeigneten Werts stellt dieser Code sicher, dass das Programm jede potenzielle Ausnahme ordnungsgemäß behandeln kann, ohne Fehler stillschweigend weiterzugeben.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3