运行时错误和语义错误

在Python 中经常会运行时错误(runtime errors)。即使有时看起来编写得非常完美的程序,在运行的过程中也会有出现错误的情况。在我们的印象中,计算机是善于精确计算的,那怎么会出错?答案是计算机确实经常出错,不过
出错的根源不是计算机,而是我们人类。计算机是由人类设计的,是我们人类设计出来的一种工具,它本质上和电视机、汽车等是一样的,是人类生活中的一种辅助工具。鉴于现在计算机软硬件的理论水平、工业制造水平、使用者的水平等一些内在、外在的因素,出现错误并不稀奇,且程序越复杂,出现错误的概率越大。错误的种类很多,如内存用尽、除数为零的除法等。Python 为了把错误的影响降至最低,提供了专门的异常处理语句。

在现实生活中,时不时会遇到这样的情况:你明明想表达A 的意思,但与你沟通的人可能理解成B 的意思了,或者说的是A 意思,却被听者听成B 意思了。这种情况多在语言表述不清楚或看问题角度不同时发生。我们经常将这种情况调侃为思想没在一个维度。
在Python 代码的编写过程中也经常会发生类似的问题,此类问题称为语义错误(semantic errors)。
程序发生语义错误时,并不会立即给我们反馈,它会继续执行,不会发出错误信息,这种错误需要我们自己去发现,需要去比对输出的结果和我们预期是否一致才能判定,否则可能就一直错误下去,直到被发现。
这种错误的发生大多是因为我们对代码的运行机制了解得不够,自以为编写的代码是按自己预想的方式运行的,但实际上计算机编译出来的代码是按另外一种方式运行的。还有可能是你解决问题的思路本身就是错的,写出来的程序执行的结果当然会是错的。
查找语义错误并没有那么容易,它需要你根据结果进行推理,推理的过程有的简单,有的复杂,具体需要查看程序是怎么设计的,编写是否复杂,是否容易弄明白程序到底在做什么。

猜你喜欢

转载自www.cnblogs.com/yugfu/p/13396338.html