我知道我可以这样做:
try:
# do something that may fail
except:
# do this if ANYTHING goes wrong
我也可以这样做:
try:
# do something that may fail
except IDontLikeYouException:
# say please
except YouAreTooShortException:
# stand on a ladder
但是如果我想在两个不同的异常中做同样的事情,我现在能想到的最好的办法就是这样做:
try:
# do something that may fail
except IDontLikeYouException:
# say please
except YouAreBeingMeanException:
# say please
有什么办法可以让我做这样的事情(因为在这两个例外中采取的行动是 say please
):
try:
# do something that may fail
except IDontLikeYouException, YouAreBeingMeanException:
# say please
现在这真的行不通了,因为它符合以下语法:
try:
# do something that may fail
except Exception, e:
# say please
因此,我捕捉这两个不同异常的努力并没有完全实现。
有没有办法做到这一点?
原文由 inspectorG4dget 发布,翻译遵循 CC BY-SA 4.0 许可协议
来自 Python 文档:
或者,仅适用于 Python 2:
用逗号将异常与变量分开在 Python 2.6 和 2.7 中仍然有效,但现在已弃用并且在 Python 3 中不起作用;现在你应该使用
as
。