Python 运行时遇到输入错误、除零、文件不存在等情况会抛出异常;未处理时程序通常直接退出。异常处理的目的,是把可预期错误、兜底处理和收尾动作分开写清楚。
异常处理的基本写法
try:
result = 10 / 0
except ZeroDivisionError:
print("除数不能为零!")
except Exception as e:
print(f"发生了一个错误:{e}")
else:
print(f"结果是:{result}")
finally:
print("异常处理结束。")
try:放可能出错的代码。except ZeroDivisionError:优先处理具体异常。except Exception as e:处理其他未单独列出的异常。else:仅在try没有异常时执行。finally:无论是否异常都会执行,适合清理资源。
这段代码实际会怎么执行
- 进入
try。 - 执行
result = 10 / 0时触发ZeroDivisionError。 - 进入
except ZeroDivisionError,输出"除数不能为零!"。 - 跳过
else。 - 执行
finally,输出"异常处理结束。"。

写法原则
try范围尽量只包裹可能失败的语句。- 先写具体异常,再写
Exception兜底。 - 成功逻辑放
else,清理动作放finally。








