Ich möchte raise
verwenden, ohne das Traceback auf dem Bildschirm zu drucken. Ich weiß, wie man das mit try ..catch
tut, findet aber keinen Weg mit raise
. HierFehler ohne Rückverfolgung auslösen
ein Beispiel:
def my_function(self):
resp = self.resp
if resp.status_code == 404:
raise NoSuchElementError('GET'+self.url+'{}'.format(resp.status_code))
elif resp.status_code == 500:
raise ServerErrorError('GET'+self.url+'{}'.format(resp.status_code))
Wenn diese Ausführung, wenn ich einen 404 haben, die Zurückverfolgungs auf dem Bildschirm gedruckt wird.
Traceback (most recent call last):
File "test.py", line 32, in <module>
print ins.my_function()
File "api.py", line 820, in my_function
raise NoSuchElementError('GET ' + self.url + ' {} '.format(resp.status_code))
Dies ist ein Wrapper-API und ich will nicht Benutzer die Zurückverfolgungs sehen, aber die API-Antwortcodes und Fehlermeldungen statt zu sehen.
Gibt es eine Möglichkeit, es zu tun?
Display-Formatierung ist nicht 'raise''s Job. Wenn Sie steuern möchten, wie das Programm auf diese Ausnahmen reagiert, fangen Sie sie auf einer höheren Ebene in der Struktur Ihres Programms ab und tun Sie, was Sie damit machen. – user2357112