Skip to content

异常

一句话解释

异常(exception)是程序运行时发生的错误,会中断执行;用 `try/except` 可以捕获并处理异常。

用大白话说

异常(exception)是程序运行时出现的错误。比如除以零、访问不存在的列表下标、打开不存在的文件——这些情况 Python 没法继续跑,就会“抛出异常”,如果不处理,程序就崩溃退出。

try:
    num = 10 / 0
except ZeroDivisionError:
    print("不能除以零!")

try 里放可能出错的代码,except 里放出错后的处理。这样即使出错,程序也不会崩溃,而是优雅地处理。

常见异常类型:

  • ZeroDivisionError:除以零
  • TypeError:类型不对("a" + 1
  • ValueError:值不合法(int("abc")
  • IndexError:列表下标越界
  • KeyError:字典键不存在
  • FileNotFoundError:文件找不到

可以用 except Exception as e 捕获所有异常,e 里是错误信息。还可以用 raise 主动抛出异常,finally 做收尾(不管出没出错都执行)。

示例

python
try:
    num = int(input("输入一个数字: "))
    result = 10 / num
except ZeroDivisionError:
    print("不能除以零!")
except ValueError:
    print("输入的不是有效数字!")
else:
    print(f"结果是 {result}")
finally:
    print("程序结束")

try 里放可能出错的代码,不同 except 捕获不同异常类型。else 在没出错时执行,finally 不管出没出错都执行。

工作原理

  1. 把可能出错的代码放在 try 块里
  2. except 异常类型 捕获并处理对应异常
  3. 没匹配到的异常会向上传播,没人处理就崩溃
  4. finally 块无论是否出错都会执行,常用于清理

常见混淆

  • 容易混淆的对象: 错误

    关键区别: 异常是运行时可以捕获处理的错误(如除零、文件不存在),语法错误是代码写错了编译阶段就发现、没法 try。异常能被 except 捕获,语法错误必须改代码。

相关术语

相关资源

相关课程

学习基础知识

通过结构化课程深入理解这个主题。

查看课程

解读错误信息

用大白话解释常见错误——什么意思、为什么发生、如何修复。

查看错误

← 返回术语表