1、语法错误(syntax errors);
2、运行错误(runtime errors);
3、语义错误(semantic errors)
语 法 错 误 误 程序要运行,首先语句的语法必须正确,才能够被计算机执
行。否则,执行的过程中断,返回错误信息。语法指的是程序语句的组成
要符合语言规定的构成规则。例如,下面的语句是符合语法规则的:
>>> a = b - c
它的意思是将b减c的结果赋值给变量a。如果你把这个表达式写成“b - c =
a”这种形式,就错了,因为它不合语法规定,“b - c”这样的表达式不能
被赋值。当然语法也不是凭空而定的,它要符合我们的思维习惯。
对于自然语言来说,比如说汉语,你写的文章或说的话,存在少量的
语法错误,还不至于影响要表达的意思。而计算机则没有达到如此聪明的
地步,它要求百分之百的精确。你的程序要完全符合计算机的语法,哪怕
有一点错误,它也不可能执行你的程序。其实语法错误还是比较容易找到
和消除的。当你开始学习编程时,由于需要逐渐熟悉语法,出现的语法错
误可能会很多,随着经验的增长,它会一点点的减少,即使有,你也能够
轻松的找到并改正它们。
运 行 错 误 误 即使是完美无缺的程序,在运行的过程中也会出现错误,
有时称为 异 常,或曰不可预料的错误。有人说,计算机不是善于精确计
算吗?不错,确实如此。错的不是计算机,而是我们人类。计算机说到
底,不过是人类设计的,为我们所用的工具。它和电视机、汽车从本质
上来说,是一样的。限于现在有关计算机软硬件的理论水平、工业制造水
平、甚至使用者的水平等等一些内在的、外在的因素,你想,它能够不出
错吗?程序越复杂,出现异常的几率越大。异常的种类很多,比如内存用
尽,除数为零的除法,都可能导致异常。Python中设计了专门的异常处
理语句,把错误的影响降至最低。
语 义 错 误 误 程序即使有语义错误,也能正常运行,也不会产生任何错误
信息,但得到的结果和我们预料的大相径庭。这时候程序做了一些别的事
情。发生这种错误一般是我们对语句的运行机理了解的不够透彻,自以为
它应该如此运行,而实际却不是这样。还有可能是你的解决问题的思路本
身就是错的,写的程序当然是错的。查找这样的错误很不容易,需要从结
果进行推理,看一看是程序的哪一部分导致了这样的结果。