Python 内置异常和错误类型备忘单

常见 Python 错误类型的参考指南。了解如何调试 ValueError、TypeError、IndexError、KeyError 以及引发异常。

通用逻辑和值异常

表示操作不匹配、索引缺失或变量失败的异常。

方法/功能语法描述
ValueErrorint("abc")当函数接收到类型正确但值不适当的参数时引发。
TypeError"1" + 2当操作或函数应用于不适当类型的对象时引发。
IndexErrormy_list[10]当序列下标超出范围时引发。
KeyErrormy_dict["missing"]当找不到字典键时引发。
AttributeErrormy_str.append("x")当属性引用或赋值失败时引发(例如,在字符串上调用列表方法)。

运行时和资源异常

代表外部文件系统、计算崩溃或执行语法错误的问题。

方法/功能语法描述
FileNotFoundErroropen("missing.txt")当请求文件或目录但不存在时引发。
ZeroDivisionError1 / 0当除法或模运算的第二个参数为零时引发。
SyntaxErrorwhile True print("hi")当解析器遇到语法错误时引发。
NameErrorprint(undefined_variable)当未找到本地或全局名称时引发。
StopIterationnext(exhausted_iterator)由内置的 next() 引发,表示迭代器没有更多项目。

交互式演示脚本

run_all_cheat_methods.py
在编辑器中运行
# ValueError
int("abc")

# TypeError
"1" + 2

# IndexError
my_list[10]

# KeyError
my_dict["missing"]

# AttributeError
my_str.append("x")

# FileNotFoundError
open("missing.txt")

# ZeroDivisionError
1 / 0

# SyntaxError
while True print("hi")

# NameError
print(undefined_variable)

# StopIteration
next(exhausted_iterator)

常见问题解答

如何在Python中捕获多个异常?

您可以将它们指定为单个 except 块中的元组,例如 except (ValueError, TypeError) as e:。

我什么时候应该手动引发异常?

当代码中发生阻止正常执行的意外情况(例如验证失败)时,使用 raise 关键字引发异常。

相关主题

推荐的 Python 资源

通过相关的交互式教程、备忘单和代码比较来扩展您的知识。