异常
即便 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'isnot defined
>>>'2' + 2 # int 不能与 str 相加,触发异常
Traceback (most recent call last):
File "", line 1,in<module>
TypeError: can only concatenate str(not"int") to str
异常以不同的类型出现,这些类型都作为信息的一部分打印出来: 例子中的类型有 ZeroDivisionError,NameError 和 TypeError。
错误信息的前面部分显示了异常发生的上下文,并以调用栈的形式显示具体信息。