[PYTHON] Examen des exceptions

1


l = [1, 2, 3]
i = 5

print('start')
try:
    l[0]
except IndexError as ex:
    print('Il n'y a pas d'indice de ce genre.{}'.format(ex))
except NameError as ex:
    print('Non défini.{}'.format(ex))
except Exception as ex:
    print('other: {}'.format(ex))
else:
    print("Il a été traité normalement.")
finally:
    print("end")

Résultat d'exécution de 1


start
Il a été traité normalement.
end

Aucune erreur ne se produit, donc Les blocs else et finally ont été exécutés.

2


l = [1, 2, 3]
i = 5

print('start')
try:
    l[i]
except IndexError as ex:
    print('Il n'y a pas d'indice de ce genre.{}'.format(ex))
except NameError as ex:
    print('Non défini.{}'.format(ex))
except Exception as ex:
    print('other: {}'.format(ex))
else:
    print("Il a été traité normalement.")
finally:
    print("end")

Résultat d'exécution de 2


start
Il n'y a pas d'indice de ce genre. index de liste hors de portée
end

Même si l'index n'est que de 2 Spécifiez l'index 5 et IndexError se produit. Alors L'exception IndexError comme bloc ex et le bloc finally ont été exécutés.

3


l = [1, 2, 3]
i = 5

del l

print('start')
try:
    l[0]
except IndexError as ex:
    print('Il n'y a pas d'indice de ce genre.{}'.format(ex))
except NameError as ex:
    print('Non défini.{}'.format(ex))
except Exception as ex:
    print('other: {}'.format(ex))
else:
    print("Il a été traité normalement.")
finally:
    print("end")

Résultat d'exécution de 3


start
Non défini. Nom'l' is not defined
end

Depuis que je suis parti avec del l NameError se produit. Alors L'exception NameError comme bloc ex et le bloc finally ont été exécutés.

4


l = [1, 2, 3]
i = 5

print('start')
try:
    l + ()
except IndexError as ex:
    print('Il n'y a pas d'indice de ce genre.{}'.format(ex))
except NameError as ex:
    print('Non défini.{}'.format(ex))
except Exception as ex:
    print('other: {}'.format(ex))
else:
    print("Il a été traité normalement.")
finally:
    print("end")

Résultat d'exécution de 4


start
other: can only concatenate list (not "tuple") to list
end

Puisque la liste et le taple sont ajoutés ensemble, Une erreur qui n'est ni IndexError ni NameError se produit. Alors L'exception sauf comme bloc ex et le bloc finally ont été exécutés.

Recommended Posts

Examen des exceptions
Attrapez plusieurs types d'exceptions
ABC123D Revue des questions précédentes
Revue des bases de Python (FizzBuzz)
AtCoder Beginner Contest 102 Revue des questions précédentes
AtCoder Beginner Contest 072 Revue des questions précédentes
AtCoder Beginner Contest 085 Revue des questions précédentes
AtCoder Beginner Contest 062 Revue des questions précédentes
AtCoder Beginner Contest 051 Revue des questions précédentes
AtCoder Beginner Contest 127 Revue des questions précédentes
AtCoder Beginner Contest 119 Revue des questions précédentes
AtCoder Beginner Contest 151 Revue des questions précédentes
AtCoder Beginner Contest 075 Revue des questions précédentes
[Linux] Examen des commandes de base fréquemment utilisées 2
AtCoder Beginner Contest 110 Revue des questions précédentes
AtCoder Beginner Contest 117 Revue des questions précédentes
AtCoder Beginner Contest 070 Revue des questions précédentes
AtCoder Beginner Contest 105 Revue des questions précédentes
AtCoder Beginner Contest 112 Revue des questions précédentes
AtCoder Beginner Contest 076 Revue des questions précédentes
AtCoder Beginner Contest 089 Revue des questions précédentes
AtCoder Beginner Contest 079 Revue des questions précédentes
AtCoder Beginner Contest 056 Revue des questions précédentes
AtCoder Beginner Contest 087 Revue des questions précédentes
AtCoder Beginner Contest 067 Revue des questions précédentes
AtCoder Beginner Contest 046 Revue des questions précédentes
AtCoder Beginner Contest 123 Revue des questions précédentes
AtCoder Beginner Contest 049 Revue des questions précédentes
AtCoder Beginner Contest 078 Revue des questions précédentes
AtCoder Beginner Contest 081 Revue des questions précédentes
Revoir le concept et la terminologie de la régression
AtCoder Beginner Contest 047 Revue des questions précédentes
AtCoder Beginner Contest 060 Revue des questions précédentes
AtCoder Beginner Contest 104 Revue des questions précédentes
AtCoder Beginner Contest 057 Revue des questions précédentes
AtCoder Beginner Contest 121 Revue des questions précédentes
AtCoder Beginner Contest 126 Revue des questions précédentes
AtCoder Beginner Contest 090 Revue des questions précédentes
AtCoder Beginner Contest 103 Revue des questions précédentes
AtCoder Beginner Contest 061 Revue des questions précédentes
AtCoder Beginner Contest 059 Revue des questions précédentes
AtCoder Beginner Contest 044 Revue des questions précédentes
AtCoder Beginner Contest 083 Revue des questions précédentes
AtCoder Beginner Contest 048 Revue des questions précédentes
AtCoder Beginner Contest 124 Revue des questions précédentes
AtCoder Beginner Contest 116 Revue des questions précédentes
AtCoder Beginner Contest 097 Revue des questions précédentes
AtCoder Beginner Contest 088 Revue des questions précédentes
AtCoder Beginner Contest 092 Revue des questions précédentes
AtCoder Beginner Contest 099 Revue des questions précédentes
AtCoder Beginner Contest 065 Revue des questions précédentes
AtCoder Beginner Contest 053 Revue des questions précédentes
AtCoder Beginner Contest 094 Revue des questions précédentes
AtCoder Beginner Contest 063 Revue des questions précédentes
AtCoder Beginner Contest 107 Revue des questions précédentes
AtCoder Beginner Contest 071 Revue des questions précédentes
AtCoder Beginner Contest 064 Revue des questions précédentes
AtCoder Beginner Contest 082 Revue des questions précédentes
AtCoder Beginner Contest 084 Revue des questions précédentes
[Linux] Examen des commandes de base fréquemment utilisées
AtCoder Beginner Contest 068 Revue des questions précédentes