常见错误类型
- 语法错误(SyntaxError):代码不符合Python语法规则时会出现,例如缺少冒号、括号不匹配等。这种错误在代码运行前就会被Python解释器检测到。例如:
if 1 > 0
print('True')
# 上述代码if语句后缺少冒号,会报SyntaxError
- 缩进错误(IndentationError):Python依靠缩进来表示代码块,缩进不符合规则就会出现此错误。例如:
def func():
print('Hello')
# 函数体中的print语句没有正确缩进,会报IndentationError
- 名称错误(NameError):当使用未定义的变量时引发。比如:
print(a)
# a未定义,会报NameError
常见异常类型
- 类型错误(TypeError):操作或函数应用于不适当类型的对象时发生。例如:
print(1 + '2')
# 整数和字符串不能直接相加,会报TypeError
- 值错误(ValueError):操作或函数接收到具有正确类型但不合适值的参数时引发。例如:
int('abc')
# 字符串'abc'无法转换为整数,会报ValueError
- 索引错误(IndexError):当使用的索引超出序列范围时出现。例如:
lst = [1, 2, 3]
print(lst[3])
# 列表索引3超出范围,会报IndexError
区别
- 错误:通常是代码结构层面不符合Python语言规范,在编译(解释)阶段就被发现,代码无法运行。像SyntaxError和IndentationError,它们反映了代码编写形式上的问题,需要修正代码结构才能解决。
- 异常:是在代码运行过程中,由于某些运行时的条件不满足而引发的。如TypeError、ValueError、IndexError等,代码语法本身是正确的,但在执行操作时遇到了不符合预期的情况。异常可以使用try - except语句进行捕获和处理,使程序在遇到问题时能有更优雅的应对方式,而不是直接崩溃。