Python 的语法错误或者称之为解析错,是初学者经常碰到的,如下实例
while True print('Hello world')
File "", line 1, in ?
while True print('Hello world')
^
SyntaxError: invalid syntax
异常
即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。
大多数的异常都不会被程序处理,都以错误信息的形式展现在这里:
10 * (1/0) # 0 不能作为除数,触发异常
Traceback (most recent call last):
File "", line 1, in ?
ZeroDivisionError: division by zero
4 + spam*3 # spam 未定义,触发异常
Traceback (most recent call last):
File "", line 1, in ?
NameError: name 'spam' is not defined
'2' + 2 # int 不能与 str 相加,触发异常
Traceback (most recent call last):
File "", line 1, in
TypeError: can only concatenate str (not "int") to str
异常以不同的类型出现,这些类型都作为信息的一部分打印出来: 例子中的类型有 ZeroDivisionError,NameError 和 TypeError。
错误信息的前面部分显示了异常发生的上下文,并以调用栈的形式显示具体信息。