8
votes

Comment continuer avec la ligne suivante dans le bloc d'essai de Python?

E.G.

try:
    foo()
    bar()
except: 
    pass


0 commentaires

5 Réponses :


11
votes

Prendre bar () code> Out of the Essayez CODE> Bloc:

try:
    foo()
except: 
    pass
bar()


1 commentaires

Une meilleure forme de nu sauf serait sauf exception: , car cela ne va pas attraper des éléments tels que le clavierInterruptions ou SystemExit. Donc, si cela était coincé dans une boucle serrée, vous pouvez toujours sortir avec ^ C.



6
votes

ne peut pas être fait si l'appel à bar est à l'intérieur du Essayez -Block. Soit vous devez mettre l'appel en dehors de l'essai-sauf bloc ou utiliser le sinon : xxx

si bar peut lancer un Exception également, vous devez utiliser un bloc distinct Block pour bar .


0 commentaires

2
votes

Ce n'est pas la voie prévue pour essayer / sauf les blocs à utiliser. Si bar () doit être exécuté même si foo () échoue, vous devez mettre à son essai / sauf bloc: xxx


0 commentaires

1
votes

Si vous souhaitez des exceptions des deux fonctions à traiter à l'exception de la clause, utilisez ensuite un blocage intérieur / enfin Block: xxx

s'il y a une exception dans FOO ( ) , premier barre () sera exécuté, à l'exception de la clause sauf.

Cependant, il est généralement une bonne pratique de mettre la quantité minimale de code à l'intérieur d'un bloc d'essai. , donc un gestionnaire d'exception séparé pour chaque fonction pourrait être préférable.


0 commentaires

5
votes

Si vous n'avez que deux fonctions, FOO () bar (), vérifiez les autres solutions. Si vous devez exécuter beaucoup de lignes, essayez quelque chose comme cet exemple: xxx

résultat: xxx


0 commentaires