2017-07-10 2 views
0

Ich mache ein Uhr-Programm in Python, das die Option zum Formatieren hat. Ich habe eine Funktion, bei der die Hintergrundfarbe durch eine Variable zugewiesen wird, aber ich möchte das Programm benutzerfreundlich machen. Wenn die Variable für die BG-Farbe eine Zeichenkette wie „schwarz“ ist, es gibt diese:Python try-exception Name Fehler

 File "C:\Python27\lib\lib-tk\turtle.py", line 1105, in _colorstr 
     raise TurtleGraphicsError("bad color string: %s" % str(color)) 
    TurtleGraphicsError: bad color string: black 

Und so habe ich den Versuch, außer Code, der die TurtleGraphicsError Fehler abzufangen gemeint ist. Allerdings, wenn ich den Code ausführen, geschieht dies:

except (TurtleGraphicsError): 
NameError: name 'TurtleGraphicsError' is not defined 

Ich habe mit und ohne Klammern versucht. Irgendeine Idee, warum das passiert?

Python 2.7.12 Windows 8.1 Gebrauchte Importe:

from datetime import datetime 
from calendar import day_name 
from time import sleep 
import turtle 
import os 
+2

eigentlicher Name ist Können wir Ihre Importe zu sehen. Manchmal müssen Sie die Fehlerklasse für bestimmte Module zuerst importieren – Joe

+2

Sie wollen 'außer turtle.TurtleGraphicsError:' –

+0

Nein an der Spitze müssen Sie etwas tun, wie 'von pymysql import MySQLError' dieser Befehl ist, wie Sie die Fehlerklasse importieren für pymysql – Joe

Antwort

0

Die Fehlermeldung sagt, es ist richtig, wird der Name TurtleGraphicsError nicht in diesem Bereich definiert. Es ist im Turtle-Paket definiert (daher sagt es dir turtle.TurtleGraphicsError). Sie können entweder importieren möchten:

from turtle import TurtleGraphicsError 

oder verwenden Sie es

import turtle 
try: 
    ... 
except turtle.TurtleGraphicsError: 
    print(...)