Momentan, ich fange die Ausnahme in der except Exception:
Klausel, und tun print(exception)
. Das Ergebnis liefert keine Informationen, da es immer druckt. Ich wusste, dass das in Python 2 funktioniert, aber wie mache ich das in Python3?Wie eine Ausnahme in Python 3 drucken?
Antwort
Ich vermute, dass Sie die Exception
einer Variablen zugewiesen werden müssen. Als shown in the Python 3 tutorial:
def fails():
x = 1/0
try:
fails()
except Exception as ex:
print(ex)
Um eine kurze Erklärung zu geben, ist as
ein pseudo-Zuweisungs Schlüsselwort in bestimmten zusammengesetzten Anweisungen verwendet, um die vorangehende Erklärung eines Variablen zuweisen oder Alias.
In diesem Fall weist as
die erfasste Ausnahme einer Variablen zu, die es ermöglicht, Informationen über die Ausnahme zu speichern und später zu verwenden, anstatt sie sofort behandeln zu müssen. (Dies im Detail in der Python 3 Language Reference: The try
Statement diskutiert wird.)
Die andere zusammengesetzte Anweisung as
Verwendung ist die with
Anweisung:
@contextmanager
def opening(filename):
f = open(filename)
try:
yield f
finally:
f.close()
with opening(filename) as f:
# ...read data from f...
Hier werden with
Anweisungen verwendet, um die Ausführung eines Blocks umwickeln mit Methoden definiert durch context managers. Dies funktioniert wie eine erweiterte try...except...finally
-Anweisung in einem ordentlichen Generatorpaket, und die as
-Anweisung weist das vom Generator erzeugte Ergebnis vom Kontextmanager einer Variablen zur erweiterten Verwendung zu. (Dies ist im Detail in den Python 3 Language Reference: The with
Statement diskutiert.)
Schließlich kann as
verwendet werden, wenn Module zu importieren, um ein Modul zu einem anderen (in der Regel kürzer) Namen alias:
import foo.bar.baz as fbb
Dieses wird detailliert in der Python 3 Language Reference: The import
Statement diskutiert.
Versuchen
except Exception as e:
print(e)
Dies sind die Änderungen seit Python 2: auf den Namen
try:
1/0
except Exception as e: # (as opposed to except Exception, e:)
#^that will just look for two classes, Exception and e
print(e) # for the repr
print(str(e)) # for just the message
print(e.args) # the arguments that the exception has been called with.
# the first one is usually the message.
- 1. Konvertieren von Python 3 ResourceWarnings in Ausnahme
- 2. Python 3 Drucken ohne Klammer
- 3. Wie Kartenobjekt mit Python 3 drucken?
- 4. Drucken (__ doc__) in Python 3 Skript
- 5. Drucken ohne Leerzeichen in Python 3
- 6. wie eine Ausnahme mit Logger drucken?
- 7. Drucken Sie die Python-Ausnahme-/Fehlerhierarchie
- 8. Wie eine Liste in Python drucken "schön"
- 9. So stoppen Sie Python 3 Drucken keine
- 10. Syntaxproblem mit Drucken auf Python 3
- 11. Syntaxfehler beim Drucken mit Python 3
- 12. Python 3 Drucken Datetime Datum als 1900?
- 13. Xlrd wird nichts drucken python 3
- 14. Drucken in Swift 3
- 15. Python-Ausnahme in Ausnahme
- 16. Python 3 Wie auf einer vorherige Eingabezeile drucken
- 17. Neu in Python 3 - Versuch, Ergebnisse in Tabelle zu drucken
- 18. Python - Nur Drucken "Drucken"
- 19. Aktualisieren Sie eine Textphrase in Python 3
- 20. Eine Ausnahme gegenüber dem Drucken auslösen?
- 21. Drucken Python Stack-Trace ohne Ausnahme ausgelöst wird
- 22. Wie geht man vom Drucken [1, 2, 3] zum Drucken 1, 2, 3 in einer Textdatei? Python
- 23. Python 3 drucken in Datei erstellen fehlerhafte neue Zeilen
- 24. Drucken in Python 3.4.2
- 25. Um Daten in eine Textdatei mit Ausnahme ersten Spalt drucken
- 26. Wie eine Tabelle von Zahlen in Python drucken
- 27. Drucken einer Liste von Zahlen in Python v.3
- 28. Drucken in Python 2.7
- 29. Kann Python eine Funktionsdefinition drucken?
- 30. Wie Python-Listenobjekt drucken?
Dies macht keinen Sinn, was 'exception' genau gebunden ist? Bitte posten Sie das Snippet, wo dieses Verhalten auftaucht und vor allem den Teil, wo der Name 'exception' initialisiert wird. –