Python try-except Name Error

时间:2017-07-10 17:16:04

标签: python animation error-handling

我正在使用Python制作一个时钟类型程序,它可以选择格式化。我有一个函数,其中背景颜色由变量分配,但我想让程序用户友好。当bg颜色的变量是一个像“black”这样的字符串时,它会返回:

      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

所以我添加了try代码,除了用于捕获TurtleGraphicsError错误的代码。但是,当我运行代码时,会发生这种情况:

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

我尝试过使用和不使用括号。知道为什么会这样吗?

Python 2.7.12,Windows 8.1 使用的进口是:

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

1 个答案:

答案 0 :(得分:0)

错误消息正确显示,该范围内未定义名称TurtleGraphicsError。它在turtle包中定义(因此它告诉你turtle.TurtleGraphicsError)。您可以像以下一样导入它:

from turtle import TurtleGraphicsError

或使用它的实际名称

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