Maison >développement back-end >Tutoriel Python >Comment puis-je intercepter plusieurs exceptions dans un seul bloc Python « except » ?

Comment puis-je intercepter plusieurs exceptions dans un seul bloc Python « except » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-03 12:46:11912parcourir

How Can I Catch Multiple Exceptions in a Single Python `except` Block?

Détecter plusieurs exceptions sur une seule ligne avec le bloc Sauf de Python

En Python, vous pouvez capturer une variété d'exceptions à l'aide du bloc « sauf » . Traditionnellement, la gestion de plusieurs exceptions impliquait l'utilisation de plusieurs clauses « sauf » individuelles :

try:
    # Code that may fail
except IDontLikeYouException:
    # Handle IDontLikeYouException
except YouAreTooShortException:
    # Handle YouAreTooShortException

Cependant, si vous devez gérer la même exception en réponse à plusieurs autres exceptions, il existe une approche plus concise.

Détecter plusieurs exceptions avec un tuple

En regroupant les exceptions dans un tuple, vous pouvez gérer leurs occurrences dans un seul bloc 'sauf' :

try:
    # Code that may fail
except (IDontLikeYouException, YouAreBeingMeanException) as e:
    # Handle both exceptions

Dans ce code, le tuple '(IDontLikeYouException, YouAreBeingMeanException)' spécifie que le bloc 'sauf' s'exécutera si l'une de ces exceptions est levée.

Exemple d'utilisation

Considérez le code ci-dessous :

def say_please():
    print("Please...")

try:
    raise IDontLikeYouException()
except (IDontLikeYouException, YouAreBeingMeanException):
    say_please()

Lorsque la fonction 'say_please()' est appelée dans le bloc 'sauf', elle affiche "S'il vous plaît...". Cela montre comment la gestion de plusieurs exceptions à l'aide d'un tuple simplifie la gestion des exceptions.

Remarque pour Python 2

Dans Python 2, vous pouvez éventuellement inclure un nom de variable après la parenthèse fermante. du tuple, mais il n'est pas obligatoire et obsolète dans Python 3. Utilisez plutôt « as » pour lier l'objet d'exception à un variable :

try:
    # Code that may fail
except (IDontLikeYouException, YouAreBeingMeanException) as e:
    # Handle both exceptions

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn