Ich weiß, ich bin nicht klar auf diese Sache, aber ich könnte nicht genauer im Titel sein. Betrachten Sie den folgenden Code ein:Python: Pseudo versuchen, bevor tatsächlich versuchen und Ausnahme
try:
print "Try this out"
a = int("Blah blah")
except:
print "I got the exception"
Die Ausgabe dieses Codes ist-
Try this out
I got the exception
Was ich die Python tun möchte, ist zu prüfen, ob es eine Ausnahme im try erhöhen könnten: Block und dann Führ es aus. Andernfalls führe einfach den except: block aus. Ist es möglich, so etwas zu tun, ohne die vielen try-except-Blöcke zu verschachteln?
Warum wollen Sie so etwas zu tun? Das widerspricht der Python-Philosophie von [EAFP] (https://docs.python.org/2/glossary.html). –
Diese Frage oder Zweck ist nicht sehr klar. Wie würden Sie das mit verschachtelten Blöcken machen? Möchten Sie, dass der Pseudo-Lauf Nebenwirkungen hat? Können Sie zuerst eine Bedingung überprüfen, bevor Sie den Code ausführen, der eine Ausnahme auslöst? Das klingt mehr nach dem, was Sie versuchen zu tun. – theorifice
Python ist vollständig dynamisch typisiert. Ich denke, Sie beziehen sich auf Sprachen wie Java, wo Funktionen mit dem 'throws SomeExceptionType' am Ende ihrer Funktionsdeklaration gekennzeichnet werden können. Python ist nicht so. Sie erhalten die Ausnahmen während der Laufzeit und können nicht feststellen, ob sie es werfen wird (oder wirklich kann). – Goodies