[PYTHON] Si une exception survient dans la fonction, elle sera transmise à l'appelant 2

1


def test_exception(num):
    print(1)
    try:
        print(2)
        answer = 100 / num
        return answer
        print(3)
    except ZeroDivisionError as e:
        print(4)
        raise e
    print(5)

print('start')
try:
    test_exception(1)
    print(6)
except ZeroDivisionError as e:
    print(7)
    raise e
finally:
    print('end')

Résultat d'exécution de 1


start
1
2
6
end

print ('démarrer') Exécutez d'abord.

prochain, Exécutez un bloc d'essai. Entrez la fonction test_exception sur la première ligne du bloc try avec l'argument 1. Alors Exécutez l'impression (1) et Exécuter dans le bloc try de la fonction test_exception. Exécutez l'impression (2) et answer = 100 Et renvoie 100. Parce qu'il revient Notez que l'impression (3) ci-dessous n'est pas exécutée. Depuis ZeroDivisionError ne s'est pas produit N'exécutez pas le bloc except dans la fonction test_exception, mais ignorez-le.

Maintenant que la fonction test_exception du bloc try est terminée Puis exécutez print (6).

Puisque ZeroDivisionError ne s'est pas produit Le bloc except n'est pas exécuté et est ignoré.

Enfin, exécutez le bloc finally.

Si l'argument de la fonction test_exception est mis à 0,

2


def test_exception(num):
    print(1)
    try:
        print(2)
        answer = 100 / num
        return answer
        print(3)
    except ZeroDivisionError as e:
        print(4)
        raise e
    print(5)

print('start')
try:
    test_exception(0)
    print(6)
except ZeroDivisionError as e:
    print(7)
    raise e
finally:
    print('end')

Résultat d'exécution de 2


start
1
2
4
7
end

Recommended Posts

Si une exception survient dans la fonction, elle sera transmise à l'appelant 2
Si une exception survient dans la fonction, elle sera transmise à l'appelant 1
Si vous voulez mettre un argument dans la fonction de fermeture et l'exécuter plus tard
Comprendre le rendement Python Si vous mettez le rendement dans une fonction, elle se transforme en générateur
Si vous supprimez la liste à mettre en boucle, vous deviendrez terrible.
Pour la première fois dans Numpy, je vais le mettre à jour de temps en temps
Vous serez ingénieur dans 100 jours - Jour 29 - Python - Bases du langage Python 5
Vous serez ingénieur dans 100 jours - Jour 33 - Python - Bases du langage Python 8
Vous serez ingénieur dans 100 jours --Jour 26 --Python --Basiques du langage Python 3
J'ai essayé de prédire les chevaux qui seront dans le top 3 avec LightGBM
Si vous écrivez View decorator dans urls.py dans Django, la liste sera plus élevée.
Vous serez ingénieur dans 100 jours --Jour 32 --Python --Basiques du langage Python 7
Que faire si une erreur de version se produit dans le pilote Selenium Chrome
Vous serez ingénieur dans 100 jours --Jour 28 --Python --Les bases du langage Python 4
Récupérer l'appelant d'une fonction en Python
Dans bash, "supprimez le fichier s'il existe".
Un mémo de fonction utile lorsque vous souhaitez entrer dans le débogueur si une erreur se produit lorsque vous exécutez un script Python.
Vérifiez s'il s'agit d'Unix dans le langage de script
Déterminer si un attribut est défini dans l'objet
Vérifiez s'il s'agit d'Unix dans le langage de script
Kaggle Tutorial Le savoir-faire Titanic pour être dans le top 2%
[Python] Si vous créez un fichier avec le même nom que le module à importer, une erreur d'attribut se produira.
C'était génial d'éditer le fichier Python dans Raspberry Pi avec la fonction à distance d'Atom
Que faire si ʻObject arrays ne peut pas être chargé quand allow_pickle = False` se produit dans numpy.load ()
Un moyen simple de visualiser le temps pris en Python et un moyen plus intelligent de l'améliorer
Si le caractère que vous essayez de lire ne correspond pas à la spécification de conversion, la fonction C> scanf ()> scanf laissera le caractère non lu dans le flux.
Vous serez ingénieur dans 100 jours ――Jour 63 ――Programmation ――À propos de la probabilité 1
Vous serez ingénieur dans 100 jours - Jour 27 - Python - Exercice Python 1
Vous serez ingénieur dans 100 jours ――Jour 65 ――Programmation ――A propos de la probabilité 3
[python] Comment vérifier si la clé existe dans le dictionnaire
[Python] Il peut être utile de lister les trames de données
Vous serez ingénieur dans 100 jours ――Jour 64 ――Programmation ――À propos de la probabilité 2
Que faire si la dépendance du package ne peut pas être réparée
Vous serez ingénieur dans 100 jours - Jour 34 - Python - Exercice Python 3
[Python] Comment écrire une instruction if en une phrase.
Comment manipuler le DOM dans iframe avec Selenium
S'il n'est pas facile à comprendre, il ne peut pas être amélioré.
Comment vérifier si une valeur existe dans un type d'énumération
J'ai essayé d'implémenter la fonction d'envoi de courrier en Python
Une introduction à l'API de socket moderne pour apprendre en C
Cochez le bouton Vérifier dans Tkinter pour autoriser la modification de l'entrée
Comment éliminer le "Les balises doivent être un tableau de hachages." Erreur dans l'API qiita
Dans le dictionnaire python, si une clé inexistante est accédée, initialisez-la avec une valeur arbitraire
J'ai créé une fonction pour vérifier si le webhook est reçu dans Lambda pour le moment
Si vous écrivez un test piloté par table go en python, il peut être préférable d'utiliser subTest