Python基础可能经常出现的异常类型
目录
1. SyntaxError
2. IndentationError
3. NameError
4. TypeError
5. ValueError
6. ZeroDivisionError
7. OverflowError
8. FileNotFoundError
9. IOError
10. IndexError
11. KeyError
12. AttributeError
13. ImportError / ModuleNotFoundError
14. RuntimeError
15. RecursionError
16. AssertionError
使用提示
1. SyntaxError
描述: 代码中存在语法错误。
示例:
if True print("Hello") # 缺少冒号
2. IndentationError
描述: 缩进不正确或不一致。
示例:
def func():
print("Hello") # 未正确缩进
3. NameError
描述: 使用了未定义的变量或名称。
示例:
print(x) # x 未定义
4. TypeError
描述: 操作或函数使用了错误的数据类型。
示例:
print(5 + "5") # 数字和字符串不能直接相加
5. ValueError
描述: 传入函数的值具有正确的类型,但不在预期范围内。
示例:
int("abc") # 字符串不能转换为整数
6. ZeroDivisionError
描述: 除数为零。
示例:
print(10 / 0) # 除零错误
7. OverflowError
描述: 数值超出了最大限制。
示例:
import math
print(math.exp(1000)) # 指数运算结果过大
8. FileNotFoundError
描述: 尝试打开不存在的文件。
示例:
with open("nonexistent_file.txt", "r") as f:
pass
9. IOError
描述: 输入/输出操作失败。
示例:
f = open("/root/protected_file.txt") # 权限不足
10. IndexError
描述: 索引超出列表范围。
示例:
lst = [1, 2, 3]
print(lst[5]) # 超出范围
11. KeyError
描述: 使用了字典中不存在的键。
示例:
d = {"a": 1}
print(d["b"]) # 键 "b" 不存在
12. AttributeError
描述: 尝试访问对象不存在的属性或方法。
示例:
lst = [1, 2, 3]
lst.appendd(4) # appendd 是拼写错误
13. ImportError / ModuleNotFoundError
描述: 导入的模块不存在或导入失败。
示例:
import nonexistent_module # 模块不存在
14. RuntimeError
描述: 通用的运行时错误。
示例:
raise RuntimeError("Something went wrong")
15. RecursionError
描述: 超出了递归调用的最大深度。
示例:
def recursive():
recursive()
recursive()
16. AssertionError
描述: 断言语句 assert
失败。
示例:
assert 2 + 2 == 5 # 断言失败
使用提示
通过 try...except
块捕获和处理异常,例如:
try:
x = int("abc")
except ValueError as e:
print(f"捕获到异常: {e}")