try 异常捕获
最后更新:2026-09-22
try 异常捕获
try 包裹可能抛异常的代码;except 处理异常、finally 清理资源。
| 分类 | 关键字与语句 |
|---|---|
| 类型 | 关键字与语句 |
| Python 版本 | all |
📝 语法
try:
block
except [ExceptionType [as name]]:
handler
[finally:
cleanup]
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
caught: invalid literal for int() with base 10: 'x'
🏷️ 相关关键字与语句
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qtry/except/else/finally 的执行顺序是什么?
A先执行 try 块;若没抛异常,接着执行 else(如果有),最后无论是否异常都执行 finally。若抛了异常,则跳过 else,进入匹配的 except,最后再执行 finally。
Qexcept 后面不写异常类型会怎样?
A它会捕获一切异常,包括 KeyboardInterrupt、SystemExit 这类本不该吞的异常。一般不建议裸 except,应尽量写成 except Exception: 或更具体的类型。
Qtry 块里赋值的变量,except 块里能用吗?
A能。Python 没有块级作用域,只要 try 执行到了赋值那一行,变量在 except、else、finally 以及 try 语句之后都能访问。