En Python, est-il possible d'avoir plusieurs exceptinstructions pour une seule tryinstruction? Tel que :
try:
#something1
#something2
except ExceptionType1:
#return xyz
except ExceptionType2:
#return abc
En Python, est-il possible d'avoir plusieurs exceptinstructions pour une seule tryinstruction? Tel que :
try:
#something1
#something2
except ExceptionType1:
#return xyz
except ExceptionType2:
#return abc
Réponses:
Oui c'est possible.
try:
...
except FirstException:
handle_first_one()
except SecondException:
handle_second_one()
except (ThirdException, FourthException, FifthException) as e:
handle_either_of_3rd_4th_or_5th()
except Exception:
handle_all_other_exceptions()
Voir: http://docs.python.org/tutorial/errors.html
Le mot clé "as" est utilisé pour affecter l'erreur à une variable afin que l'erreur puisse être étudiée plus en détail plus tard dans le code. Notez également que les parenthèses pour le cas de triple exception sont nécessaires en python 3. Cette page contient plus d'informations: intercepter plusieurs exceptions sur une seule ligne (sauf le bloc)
except (SomeError, OtherError):. Ne répond pas à la question OP, mais pourrait aider certaines personnes qui arrivent ici via Google.
except Exception:plutôt que plain except:. (Simple sauf attrapera même SystemExitet KeyboardInterruptce qui n'est généralement pas ce que vous voulez)
epuisque vous lui donnez un nom :)