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

Python异常处理中'as'关键字原理及变量e的本质问询

问题解析:Python中except ... as e里的e是什么?

代码示例

try:
    a = 10
    b = 0
    c = a/b
except ZeroDivisionError as e:
    print(e)

运行输出:

division by zero

核心解答

  • as e的作用是把当前触发的ZeroDivisionError类的实例对象赋值给变量e,它不是某个字符串的别名,就是这个异常实例的引用。
  • 执行print(e)时,本质是调用了这个异常实例的__str__()魔法方法。Python内置异常类(包括ZeroDivisionError及其父类链:ArithmeticError→Exception→BaseException)都实现了这个方法,会返回预设的错误描述字符串。
  • 当Python触发ZeroDivisionError时,会自动实例化该类并传入预设的错误信息(即"division by zero"),捕获后通过e访问这个实例,调用print()就会输出该预设信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 03:41:27