** * Cet article provient d'Udemy "[Introduction à Python3 enseignée par des ingénieurs actifs de la Silicon Valley + application + style de code de style américain de la Silicon Valley](https://www.udemy.com/course/python-beginner/" Introduction à Python3 enseignée par des ingénieurs actifs de la Silicon Valley + application + Style de code de style de la Silicon Valley américaine ")" C'est une note de classe pour moi après avoir suivi le cours. Il est ouvert au public avec la permission de l'instructeur Jun Sakai. ** **
l = [0, 1, 2]
i = 5
try:
print(l[i])
except:
print('Error!')
result
Error!
Si vous essayez de faire ce que vous écrivez dans essayez:
et que cela échoue en raison d'une erreur
Le traitement dans ʻexcept: `est exécuté.
l = [0, 1, 2]
del l
try:
print(l)
except IndexError as ex:
print('Error massage: {}'.format(ex))
except NameError as ex:
print('Error massage: {}'.format(ex))
result
Error massage: name 'l' is not defined
Si c'est ʻIndexError, ce processus, Vous pouvez également spécifier le type d'erreur, tel que ce processus s'il s'agit de
NameError`.
◆finally:
l = [0, 1, 2]
i = 5
try:
print(l[i])
except:
print('Error!')
finally:
print('clean up')
result
Error!
clean up
Le processus écrit dans finally:
est toujours exécuté indépendamment du fait que try réussisse ou sauf.
l = [0, 1, 2]
i = 5
try:
print(l[i])
finally:
print('clean up')
result
clean up
Traceback (most recent call last):
File "/~~~", line 5, in <module>
print(l[i])
IndexError: list index out of range
Par conséquent, même si une erreur se produit réellement, le traitement dans `enfin 'est exécuté en premier, puis le programme s'arrête avec une erreur.
◆else:
l = [0, 1, 2]
try:
print(l[0])
except:
print('Error!')
else:
print('done')
result
0
done
Avec ʻelse: , le traitement dans ʻelse:
n'est exécuté que si le traitement dans try:
réussit.