2017-07-10 12 views
0

私は、書式設定のオプションを持つPythonでクロック型プログラムを作っています。背景色を変数で代入する関数がありますが、プログラムをユーザーフレンドリーにしたいと考えています。Python try-except名前エラー

 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 

をそして私はTurtleGraphicsErrorエラーをキャッチするために意図されているコードを除く試みを追加しました:BG色の変数は、「黒」のような文字列である場合には、これを返します。ただし、コードを実行すると、次のようになります。

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 
+2

実際の名前だ使用します。時々、特定のモジュールのエラークラスをインポートする必要があります。 – Joe

+2

turtle.TurtleGraphicsError: ' –

+0

を除いて、' from pymysql import MySQLError'のような処理が必要な場合があります。 pymysql – Joe

答えて

0

エラーメッセージは、それが正しく、名前TurtleGraphicsErrorはそのスコープで定義されていませんと言います。これは、カメパッケージの中で定義されています(したがって、あなたはturtle.TurtleGraphicsErrorを教えてくれます)。あなたはそれが好きでインポートすることができ、次のいずれか

from turtle import TurtleGraphicsError 

か、私たちはあなたの輸入を見ることができ、それは

import turtle 
try: 
    ... 
except turtle.TurtleGraphicsError: 
    print(...) 
関連する問題