Python捕获带有decimal.invalidooperation的条目异常

Python捕获带有decimal.invalidooperation的条目异常,python,exception,try-catch,decimal,Python,Exception,Try Catch,Decimal,我正在处理一个从书中复制的异常示例 from decimal import * entry=input("GRD Conversion") try: grd_usd=Decimal(entry) except decimal.InvalidOperation: print("Invalid: ",entry) 而不是预期的错误无效:3d for 3d作为我的输入,我得到 回溯(最近一次调用上次):文件 “/Users/myuser/Library/Preferences/Ide

我正在处理一个从书中复制的异常示例

from decimal import *
entry=input("GRD Conversion")
try:
    grd_usd=Decimal(entry)
except decimal.InvalidOperation:
    print("Invalid: ",entry)
而不是预期的错误无效:3d for 3d作为我的输入,我得到

回溯(最近一次调用上次):文件 “/Users/myuser/Library/Preferences/IdeaIC2018.1/scratch/scratch.py”, 第6行,在 grd_usd=十进制(条目)十进制。无效操作:[]

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用上次):文件 “/Users/myuser/Library/Preferences/IdeaIC2018.1/scratch/scratch.py”, 第7行,在 decimal除外。InvalidOperation:NameError:未定义名称“decimal”


我正在Mac上使用Python 3.6

如错误所示,您没有名为
decimal
。使用来自的
时。。导入*
,包本身不会成为变量。那么就不可能找到十进制。无效操作

import decimal

entry = input("GRD Conversion")
try:
    grd_usd = decimal.Decimal(entry)
except decimal.InvalidOperation:
    print("Invalid: ", entry)

由于您从十进制导入中执行了
*
,因此将
decimal.invalidooperation
更改为
invalidooperation