gpt4 book ai didi

python - 当我试图捕获多个异常时省略括号会发生什么?

转载 作者:太空宇宙 更新时间:2023-11-03 12:34:52 25 4
gpt4 key购买 nike

我刚试过写这个:

try:
# do something
except ValueError, IndexError:
# do something else

当我的程序仍然抛出 IndexError 时,我感到非常困惑,因为我以为我正在捕捉它。

如果它没有捕捉到 IndexError,那么这段代码究竟做了什么?这似乎不是语法错误。

最佳答案

因为这个错误/问题很常见,Python3 的语法发生了变化。你的代码相当于

try:
# do something
except (ValueError, ) as IndexError:
# do something else

你会发现这显然是错误的。

新语法可以追溯到 Python2.6

这工作正常

try:
# do something
except (ValueError, IndexError):
# do something else

但通常你想做一些有异常的事情,所以你可以这样写

try:
# do something
except (ValueError, IndexError) as e:
# do something with e

关于python - 当我试图捕获多个异常时省略括号会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6407079/

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