ich habe:Code Fluss Erzwingen gehen Block auszunehmen
try:
...
except Exception, e:
print "Problem. %s" % str(e)
jedoch irgendwo in versuchen, müssen ich es tun, als ob es eine Ausnahme aufgetreten. Ist es unpythonisch zu tun:
try:
...
raise Exception, 'Type 1 error'
...
except Exception, e:
print "Problem. Type 2 error %s" % str(e)
es scheint wie schlechtes Design ... aber es ist üblich, Ausnahmen zu erheben ... aber nicht normalerweise auf diese Weise .. Warum musst du das tun? Vielleicht möchten Sie überdenken, was Sie erreichen möchten. –
Die Ausnahmebehandlung ist in der Regel für das Auffangen und Behandeln von _unintended_ Fehlern ausgelegt. Exception _raising_ dient dazu, die Verbraucher auf Ihre Funktion eines Fehlers aufmerksam zu machen, der die Ausführung des Funktionsblocks verhindert hat, zusammen mit den Informationen, die Sie angeben möchten. Wenn Sie nur aus einem Funktionsblock als Teil eines beabsichtigten Verhaltens herausbrechen möchten, wäre die Verwendung einer Funktion und ihrer Rückgabewerte eine geeignetere Methode, um damit umzugehen. Das heißt, wenn Sie versuchen, das Verhalten des 'except'-Blocks zu testen, dann wäre es eine Möglichkeit, eine Ausnahme im' try' zu setzen. –
Aber sieh dir den letzten Abschnitt des Python-Tutorials an: docs.python.org/tutorial/errors.html#raising-exceptions – user1008636