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