Try/Except vs. If/Else: Welcher Ansatz ist vorzuziehen?
Bei der Arbeit mit Ausnahmen in Python stehen Entwickler oft vor dem Dilemma ob die Gültigkeit geprüft oder eine Aktion versucht und die daraus resultierende Ausnahme behandelt werden soll. Dieser Artikel befasst sich mit den Nuancen jedes Ansatzes und bietet Anleitungen und Beispiele zur Entscheidungsfindung.
Try/Except: Ausnahmen umarmen
Laut PEP 20 Fehler sollten niemals stillschweigend passieren, es sei denn, sie werden ausdrücklich zum Schweigen gebracht. Dies mag zwar darauf hindeuten, dass die Verwendung eines Try/Except-Blocks zur Behandlung von Ausnahmen akzeptabel ist, es ist jedoch wichtig, die Art der abgefangenen Ausnahme zu beachten.
Der Try/Except-Ansatz ist vorteilhaft, wenn die Ausnahme wirklich außergewöhnlich ist und auftritt nur in seltenen Fällen. Dies ermöglicht eine schnellere Ausführung, da unnötige Suchvorgänge entfallen. Darüber hinaus steht es im Einklang mit Pythons EAFP-Philosophie (Es ist einfacher, um Vergebung als um Erlaubnis zu bitten).
Beschleunigungen und sauberer Code
Ausprobieren/Ausnehmen kann zu Geschwindigkeit führen -ups, wenn der Ausnahmefall selten vorkommt und die Überprüfung seines Vorkommens zusätzliche Suchvorgänge erfordern würde. Beispielsweise ist der Versuch, mit try/exclusive auf ein Element an einem bestimmten Index in einer langen Liste zuzugreifen, schneller, als mit if/else zu prüfen, ob der Index innerhalb der Grenzen liegt.
Darüber hinaus sorgt try/exclusive für saubereren Code durch die Zusammenfassung mehrerer bedingter Anweisungen in einem einzigen Block, wodurch die Lesbarkeit verbessert und die Anzahl reduziert wird Zeilen.
Beispiel:
Betrachten Sie die folgenden Codeausschnitte:
# If/else approach
if len(my_list) >= 4:
x = my_list[3]
else:
x = 'NO_ABC'
# Try/except approach
try:
x = my_list[3]
except IndexError:
x = 'NO_ABC'
Der Try/Except-Ansatz ist prägnanter, vermeidet die zusätzliche Suche und behandelt den IndexError nur, wenn er auftritt.
Fazit
Während sowohl try/exclusive als auch if/else ihre Vorzüge haben, wird try/exclusive im Allgemeinen bevorzugt, wenn es zu Geschwindigkeitsverbesserungen, saubererem Code oder besseren Handles führt Ausnahmefälle ohne Einbußen bei der Sichtbarkeit der Ausnahmen. Indem Python-Entwickler Ausnahmen berücksichtigen und sinnvoll einsetzen, können sie robusten, lesbaren und effizienten Code erstellen.
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