Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mehrere Ausnahmen in einem einzelnen Python-„Exception'-Block abfangen?
Mehrere Ausnahmen in einer Zeile mit dem Except-Block von Python abfangen
In Python können Sie eine Vielzahl von Ausnahmen mithilfe des „Exception“-Blocks erfassen . Traditionell umfasste die Behandlung mehrerer Ausnahmen die Verwendung mehrerer einzelner „Exception“-Klauseln:
try: # Code that may fail except IDontLikeYouException: # Handle IDontLikeYouException except YouAreTooShortException: # Handle YouAreTooShortException
Wenn Sie jedoch dieselbe Ausnahme als Reaktion auf mehrere andere Ausnahmen behandeln müssen, gibt es einen prägnanteren Ansatz.
Mehrere Ausnahmen mit einem Tupel abfangen
Indem Sie Ausnahmen in einem Tupel gruppieren, können Sie deren Vorkommen behandeln in einem einzelnen „Exception“-Block:
try: # Code that may fail except (IDontLikeYouException, YouAreBeingMeanException) as e: # Handle both exceptions
In diesem Code gibt das Tupel „(IDontLikeYouException, YouAreBeingMeanException)“ an, dass der „Exception“-Block ausgeführt wird, wenn eine dieser Ausnahmen ausgelöst wird.
Beispielverwendung
Bedenken Sie den Code unten:
def say_please(): print("Please...") try: raise IDontLikeYouException() except (IDontLikeYouException, YouAreBeingMeanException): say_please()
Wenn die Funktion „say_please()“ im Block „exclusive“ aufgerufen wird, wird „Please…“ ausgegeben. Dies zeigt, wie die Behandlung mehrerer Ausnahmen mithilfe eines Tupels die Ausnahmebehandlung vereinfacht.
Hinweis für Python 2
In Python 2 können Sie optional einen Variablennamen nach der schließenden Klammer einfügen des Tupels, aber es ist nicht erforderlich und in Python 3 veraltet. Verwenden Sie stattdessen „as“, um das Ausnahmeobjekt an a zu binden Variable:
try: # Code that may fail except (IDontLikeYouException, YouAreBeingMeanException) as e: # Handle both exceptions
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Ausnahmen in einem einzelnen Python-„Exception'-Block abfangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!