2017-07-20 29 views
0

Ich bin neu bei beiden Anfragen und Ausnahmen, also bitte vergib mir meine Unwissenheit. Das Lesen der Dokumente hat mich nur soweit gebracht, also danke für jede Hilfe!python - requests.get - Auslösen von Ausnahmen, um das Falsche zu verhindern

Mein Denken ist, dass wenn ich eine Funktion, die eine Anforderung aufruft, und eine Funktion, die die Ausgabe, dass verwendet und so weiter, ich brauche nur den

try: 
    do something 
except: 
    do something else 

Teil in der obersten Funktion setzen? Wenn ich dieses Format in allen meinen Funktionen verwende, wird es immer noch Ausnahmen in der Kette auslösen, oder verwendet das try/except-Format die Ausnahme? Nehmen wir an, eine Ausnahme wird ausgelöst, wenn ich die Anfrage mache, und in dieser Funktion habe ich ein try/except-Layout. Wird das try/except-Layout auch für die anderen Funktionen aufgerufen?

Ich möchte im Grunde nie meinen Code fortsetzen, wenn er keine Daten empfängt. Also habe ich eine grundlegende Get-Funktion geschrieben. Ist dieser Ansatz sinnvoll?

+1

vielleicht prüfen wollen [raise_for_status] (http://docs.python-requests.org/en/master/ Benutzer/Schnellstart/# Antwort-Status-Codes) –

Antwort

0

Wenn ein Fehler im try-Teil Ihres Codes auftritt, wird der ausgenommene Teil ausgeführt und die Ausnahme wird nicht ausgelöst, es sei denn, Sie heben sie ausdrücklich auf. Wenn im Ausnahmeabschnitt eine Ausnahme auftritt, wird diese Ausnahme weiter erhöht.

Wenn Sie es wünschen, die Kette, die Ausnahme zu verzichten, dies zu tun:

try: 
    something 
except Exception as e: 
    something else 
    raise e 
Verwandte Themen