Django 2.0 入门与实践
上QQ阅读APP看书,第一时间看更新

6.2 错误与异常

在学习如何处理异常之前,先要了解Python中有哪些导致异常的错误。Python将代码的错误分为两类:语法错误(syntax error)和异常(exception)。

6.2.1 语法错误

语法错误也就是代码解析错误。这类错误往往出现在Python初学者身上,出现这类错误的原因是所执行的代码不符合Python的语法规范,因此Python解释器抛出语法错误并终止代码执行。

执行下面代码会出现语法错误:

这个错误出现的原因是while的布尔表达式后缺少冒号,不符合while语句的语法规范。此时Python解释器在最早发现错误的位置输出一个箭头标记,提示开发人员检查附近的语法错误。

6.2.2 异常

异常是在代码执行过程中所发现的错误,这类错误是很难被提前发现的,即使我们的Python脚本书写完全符合规范也有可能出现代码执行异常。

比较常被提到的一个异常情况就是除数为0异常。我们知道数学运算中除数是不能等于0的,如果编写了一个除法算法函数,用户调用时将除数赋值为0,那么就会出现除数为0的异常:

    >>> 3 / 0
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ZeroDivisionError: division by zero