Ubuntu 中 Python 异常处理怎么写:try、except、else、finally 一次讲清

桃夭
桃夭
发布时间:2026-08-24| 88人浏览过
原创

前言

Python 脚本遇到异常时,关键不是单纯防止中断,而是明确:哪段代码可能失败、失败后如何处理、成功时执行什么、最后如何收尾。下面用 10 / 0 说明 try、except、else、finally 的执行顺序。

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:无论是否异常都会执行,适合清理资源。

这段代码实际会怎么执行

  1. 进入 try。
  2. 执行 result = 10 / 0 时触发 ZeroDivisionError。
  3. 进入 except ZeroDivisionError,输出 "除数不能为零!"。
  4. 跳过 else。
  5. 执行 finally,输出 "异常处理结束。"。
展示 Python 异常处理代码块职责与执行顺序的白底信息图
Python 异常处理的执行路径把 try、except、else、finally 放到同一条执行路径中。

写法原则

  • try 范围尽量只包裹可能失败的语句。
  • 先写具体异常,再写 Exception 兜底。
  • 成功逻辑放 else,清理动作放 finally。
展示 try、except、else、finally 各自职责分工的白底对比信息图
异常处理四个代码块怎么分工异常处理写得清楚,关键不在于块越多越好。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。