gpt4 book ai didi

Python 2.7 异常处理语法

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

我对 Python 2.7 中的 try 异常用法有点困惑。

try:
raise valueError("sample value error")
except Exception as e:
print str(e)

try:
raise valueError("sample value error")
except Exception,exception:
print str(exception)


try:
raise valueError("sample value error")
except exception:
print str(exception)


try:
raise valueError("sample value error")
except Exception:
print str(Exception) # it prints only the object reference

有人能帮我理解上面的用法吗?

最佳答案

一些概念可以帮助您理解 except 变体的替代变体之间的区别:

  • except Exception, e – 这是旧变体,现已弃用,类似于 except Exception as e
  • except Exception as e – 捕获类型为 Exception(或任何子类)的异常并将它们存储在变量 e 中以供进一步处理、消息传递或类似内容
  • except Exception – 捕获类型为Exception(或任何子类)的异常,但忽略异常中提供的值/信息
  • except e – 给我一个编译错误,不确定这是否与 python 版本有关,但如果是这样,它应该/将意味着你不关心异常的类型但想要访问其中的信息
  • except – 捕获任何异常,并忽略异常信息

使用什么取决于许多因素,但如果您不需要异常中提供的信息,则无需提供变量来捕获此信息。

关于捕获哪种类型的Exception,注意捕获准确的异常类型。如果你正在写一个通用的包罗万象,使用 except Exception 可能是正确的,但在你给出的例子中我会选择实际使用 except ValueError直接地。这将允许在代码的另一个级别正确处理其他潜在的异常。关键是,不要捕获您尚未准备好处理的异常。

如果需要,您可以在 python 2.7 exception handling 上阅读更多内容或 available python 2.7 exception在官方文档中。

关于Python 2.7 异常处理语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32613375/

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