You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.6.5中如何获取Exception的参数?

获取Python 3.6.5中异常参数的正确方法

嘿,你碰到的是Python 2和Python 3在异常捕获语法上的差异问题!你写的except ZeroDivisionError, args:是Python 2的写法,在Python 3里已经被废弃了,所以会报错。

在Python 3(包括你用的3.6.5版本)中,正确捕获异常并获取参数的方式是使用as关键字来绑定异常对象,具体写法如下:

try:
    c = 1 / 0
    print(c)
except ZeroDivisionError as args:
    print('error dividing by zero', args)

运行这段代码,你会看到输出:error dividing by zero division by zero,这里的args就是ZeroDivisionError的异常实例,直接打印它就能得到默认的错误提示信息。

如果你想更细致地获取异常的参数元组,可以访问异常对象的args属性,比如:

try:
    raise ValueError("Invalid input", 100)
except ValueError as e:
    print("Error details:", e)
    print("Raw arguments:", e.args)

这段代码会输出:

Error details: Invalid input
Raw arguments: ('Invalid input', 100)

总结一下:Python 3彻底抛弃了Python 2中except 异常类, 变量名的语法,统一使用except 异常类 as 变量名来捕获并获取异常对象,通过这个对象你就能拿到所有异常相关的信息啦。

内容的提问来源于stack exchange,提问作者Arn121654

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:43:34