except 异常处理分支
最后更新:2026-09-22
except 异常处理分支
except 紧跟 try,处理匹配的异常类型(可指定元组);as 可绑定异常对象。
| 分类 | 关键字与语句 |
|---|---|
| 类型 | 关键字与语句 |
| Python 版本 | all |
📝 语法
try:
block
except ExceptionType [as name]:
handler
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
div by zero
🏷️ 相关关键字与语句
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Q一个 except 能捕获多种异常吗?
A能,写成元组形式:except (ValueError, TypeError) as e。注意子类异常要写在父类之前,否则父类分支会先把异常接住。
Q我捕获了异常但程序还是崩了,为什么?
A多半是异常类型没匹配上,比如实际抛的是 TypeError 你却写了 except ValueError。另外 except Exception 捕不到继承自 BaseException 的 KeyboardInterrupt 和 SystemExit。
Qexcept 后面的 as e 里的 e 是什么?
Ae 是异常对象,用 str(e) 可以拿到错误消息。Python 3 在 except 块结束后会自动删除 e 这个引用,避免它被长时间持有造成问题。