我有一个字典,看起来像这样:
js = {'value': {'boot': {'delay': 0} } }
当我运行以下命令
print(js['value']['boot']['delay'])
我得到0
这是我期望得到的行为。
当我运行以下
print(js['value']['booooot']['delay'])
我得到了KeyError: 'booooot'
,这也是预期的。
但是,当我将所有这些包装到try / except并打印异常时,我没有得到我预期的错误。
def myfunc(js):
try:
js['value']['booooot']['delay']
except Exception as e:
print(e)
我只是在控制台'booooot'
上得到以下内容
当我在try / except块之外运行打印时,我不应该得到KeyError: 'booooot'
吗?
import sys
def func(js):
try:
print(js['value']['boooot']['delay'])
except:
print("Error Information: " + str(sys.exc_info()))
js = {'value': {'boot': {'delay': 0} } }
func(js)
命令sys.exc_info()
将异常信息作为元组返回,索引0
是错误类型,索引1
带有错误本身。打印出上面的代码
Error Information: (<class 'KeyError'>, KeyError('boooot'), <traceback object at 0x01867558>)
谢谢你的询问!希望这可以帮助。