gpt4 book ai didi

Python try except block 无法识别错误类型

转载 作者:太空狗 更新时间:2023-10-30 00:30:09 24 4
gpt4 key购买 nike

我的脚本有以下行:

libro_dia = xlrd.open_workbook(file_contents = libro_dia)

libro_dia 无效时,会引发以下错误:

XLRDError: Unsupported format, or corrupt file: Expected BOF record; found '<!DOCTYP'

我想处理这个错误,所以我写:

try:
libro_dia = xlrd.open_workbook(file_contents = libro_dia)
except XLRDError:
no_termina = False

但它引发了以下错误:

NameError: name 'XLRDError' is not defined

这是怎么回事?

最佳答案

您没有导入 XLRDError。我不熟悉 xlrd,但像这样:

from xlrd import XLRDError

可能会起作用。或者,在处理它时限定您的 Error:

try:
libro_dia = xlrd.open_workbook(file_contents = libro_dia)
except xlrd.XLRDError: #<-- Qualified error here
no_termina = False

以上假设您有以下导入:

import xlrd

回应您的评论:

在 python 中有几种使用导入的方法。如果您使用 import xlrd 导入,那么您必须将该模块中的每个对象限定为 xlrd.SomeObject。另一种方法是使用 from xlrd import * 形式,这将允许您在没有其模块命名空间的情况下引用 XLRD 错误。这是一个懒惰的坏主意,因为它会导致 namespace 冲突。如果您想在不限定错误的情况下引用错误,正确的方法是 from xlrd import XLRDError,这样您就可以说 except XLRDError。阅读更多关于 Python Modules 的信息

关于Python try except block 无法识别错误类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15159253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com