[PYTHON] Wenn in der Funktion eine Ausnahme auftritt, wird diese an den Anrufer 2 übertragen

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')

Ausführungsergebnis von 1


start
1
2
6
end

print ('start') Zuerst ausführen.

Nächster, Führen Sie einen Try-Block aus. Geben Sie die Funktion test_exception in der ersten Zeile des try-Blocks mit Argument 1 ein. Damit Führen Sie print (1) und aus Im try-Block der Funktion test_exception ausführen. Führen Sie print (2) und aus answer = 100 Und gibt 100 zurück. Weil es zurückkehrt Beachten Sie, dass der Druck (3) darunter nicht ausgeführt wird. Da ZeroDivisionError nicht aufgetreten ist Führen Sie den Ausnahmeblock nicht in der Funktion test_exception aus, sondern überspringen Sie ihn.

Nachdem die Funktion test_exception des try-Blocks beendet ist Führen Sie dann print (6) aus.

Da ZeroDivisionError nicht aufgetreten ist Der Ausnahmeblock wird nicht ausgeführt und übersprungen.

Führen Sie abschließend den finally-Block aus.

Wenn das Argument der Funktion test_exception auf 0 gesetzt ist,

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')

Ausführungsergebnis von 2


start
1
2
4
7
end

Recommended Posts

Wenn in der Funktion eine Ausnahme auftritt, wird diese an den Anrufer 2 übertragen
Wenn in der Funktion eine Ausnahme auftritt, wird diese an den Anrufer 1 übertragen
Wenn Sie ein Argument in die Abschlussfunktion einfügen und später ausführen möchten
Python-Ertrag verstehen Wenn Sie Ertrag in eine Funktion einfügen, wird dieser in einen Generator geändert
Wenn Sie die Liste entfernen, die geloopt werden soll, werden Sie schrecklich.
Zum ersten Mal in Numpy werde ich es von Zeit zu Zeit aktualisieren
Sie werden in 100 Tagen Ingenieur - 29. Tag - Python - Grundlagen der Python-Sprache 5
Sie werden in 100 Tagen Ingenieur - Tag 33 - Python - Grundlagen der Python-Sprache 8
Sie werden in 100 Tagen Ingenieur - 26. Tag - Python - Grundlagen der Python-Sprache 3
Ich habe versucht, die Pferde vorherzusagen, die mit LightGBM unter den Top 3 sein werden
Wenn Sie View decorator in urls.py in Django schreiben, ist die Liste höher.
Sie werden in 100 Tagen Ingenieur - Tag 32 - Python - Grundlagen der Python-Sprache 7
Was tun, wenn im Selenium Chrome-Treiber ein Versionsfehler auftritt?
Sie werden in 100 Tagen Ingenieur - 28. Tag - Python - Grundlagen der Python-Sprache 4
Holen Sie sich den Aufrufer einer Funktion in Python
In Bash "Löschen Sie die Datei, falls vorhanden".
Eine Funktionsnotiz, die nützlich ist, wenn Sie den Debugger aufrufen möchten, wenn beim Ausführen eines Python-Skripts ein Fehler auftritt.
Überprüfen Sie, ob es sich um Unix in der Skriptsprache handelt
Bestimmen Sie, ob im Objekt ein Attribut definiert ist
Kaggle Tutorial Titanic Know-how, um in den Top 2% zu sein
[Python] Wenn Sie eine Datei mit demselben Namen wie das zu importierende Modul erstellen, tritt ein Attributfehler auf.
Es war großartig, die Python-Datei in Raspberry Pi mit der Remote-Funktion von Atom zu bearbeiten
Was tun, wenn in numpy.load () "Objekt-Arrays nicht geladen werden können, wenn allow_pickle = False" auftritt?
Eine einfache Möglichkeit, die in Python benötigte Zeit anzuzeigen und sie intelligenter zu verbessern
Wenn das Zeichen, das Sie lesen möchten, nicht mit der Konvertierungsspezifikation übereinstimmt, lässt die Funktion C> scanf ()> scanf das Zeichen im Stream ungelesen.
Sie werden in 100 Tagen Ingenieur - Tag 63 - Programmierung - Wahrscheinlichkeit 1
Sie werden in 100 Tagen Ingenieur - 27. Tag - Python - Python-Übung 1
Sie werden in 100 Tagen Ingenieur. ――Tag 65 ――Programmieren ――Über Wahrscheinlichkeit 3
[Python] So überprüfen Sie, ob der Schlüssel im Wörterbuch vorhanden ist
[Python] Es kann nützlich sein, die Datenrahmen aufzulisten
Sie werden in 100 Tagen Ingenieur. ――Tag 64 ――Programmieren ――Über Wahrscheinlichkeit 2
Was tun, wenn die Paketabhängigkeit nicht repariert werden kann?
Sie werden in 100 Tagen Ingenieur - Tag 34 - Python - Python-Übung 3
[Python] Wie schreibe ich eine if-Anweisung in einen Satz?
So manipulieren Sie das DOM im Iframe mit Selen
Wenn es nicht leicht zu verstehen ist, kann es nicht verbessert werden.
So überprüfen Sie, ob ein Wert in einem Aufzählungstyp vorhanden ist
Ich habe versucht, die Mail-Sendefunktion in Python zu implementieren
Eine Einführung in die moderne Socket-API zum Erlernen in C.
Aktivieren Sie die Schaltfläche Überprüfen in Tkinter, damit der Eintrag bearbeitet werden kann
So entfernen Sie die "Tags müssen ein Array von Hashes sein." Fehler in Qiita API
Wenn im Python-Wörterbuch auf einen nicht vorhandenen Schlüssel zugegriffen wird, initialisieren Sie ihn mit einem beliebigen Wert
Ich habe eine Funktion erstellt, um zu überprüfen, ob der Webhook vorerst in Lambda empfangen wird
Wenn Sie einen go table-gesteuerten Test in Python schreiben, ist es möglicherweise besser, subTest zu verwenden