我正在处理从书中复制的异常示例。
from decimal import *
entry=input("GRD Conversion")
try:
grd_usd=Decimal(entry)
except decimal.InvalidOperation:
print("Invalid: ",entry)
而不是预期的无效错误:3d for 3d作为我的条目我得到了
Traceback(最近一次调用最后一次):文件 " /Users/myuser/Library/Preferences/IdeaIC2018.1/scratches/scratch.py" ;, 第6行,在 grd_usd =十进制(条目)decimal.InvalidOperation:[]
在处理上述异常期间,发生了另一个异常:
Traceback(最近一次调用最后一次):文件 " /Users/myuser/Library/Preferences/IdeaIC2018.1/scratches/scratch.py" ;, 7号线,在 除了decimal.InvalidOperation:NameError:name' decimal'未定义
我在Mac上使用Python 3.6。
答案 0 :(得分:1)
如错误所示,您没有任何名为decimal
的内容。使用from .. import *
时,包本身不会变为变量。然后找不到decimal.InvalidOperation
import decimal
entry = input("GRD Conversion")
try:
grd_usd = decimal.Decimal(entry)
except decimal.InvalidOperation:
print("Invalid: ", entry)