如何在 excepts 子句中使用包中的自定义异常?

How to use custom exceptions from packages in your excepts clauses?

我有一个脚本,它使用包 pygsheets 将数据框上传到 Google 工作表。如果数据框为空,则会出现以下错误:

InvalidArgumentValue: provide either cells or values, not both

所以,我一直在尝试使用 try-except 结构在数据帧为空时传递,但如果发生任何其他错误则引发异常。代码如下:

try:
    pygsheets code
except InvalidArgumentValue:
    pass
except:
    raise Exception

但是,当我尝试执行上面的代码时,它会抛出以下错误:

NameError: name 'InvalidArgumentValue' is not defined

我该如何解决?

假设您以通常的方式导入了 pygsheets

import pygsheets

您的代码应该使用引用另一个包的成员 类 的常用语法来引用该包中包含的异常,例如

try:
    pygsheets code
except pygsheets.InvalidArgumentValue:
    pass
except:
    raise Exception