2.8 调试
程序中可能会出现下面三种错误:语法错误(syntax error)、运行时错误 (runtime error)
和语义错误(semantic error)。区别三者的差异有助于快速追踪这些错误。
语法错误: 语法指的是程序的结构及其背后的规则。例如,括号必须要成对出现,所以(1 + 2) 是合法的,但是 8) 则是一个语法错误。
如果你的程序中存在一个语法错误,Python 会显示一条错误信息,然后退出运行。你无法顺利运行程序。在你编程生涯的头几周里,你可能会花大量时间追踪 语法错误。随着你的经验不断积累,犯的语法错误会越来越少,发现错误的速度 也会更快。
2.9 术语表 17
运行时错误: 第二种错误类型是运行时错误,这么称呼是因为这类错误只有在程序开始运行后才会出现。这类错误也被称为异常 (exception) ,因为它们的出现通常说明发生了某些特别的(而且不好的)事情。
在前几章提供的简单程序中,你很少会碰到运行时错误,所以你可能需要一段时 间才会接触到这种错误。
语义错误: 第三类错误是“语义”错误,即与程序的意思的有关。如果你的程序中有语义错误,程序在运行时不会产生错误信息,但是不会返回正确的结果。它会返回 另外的结果。严格来说,它是按照你的指令在运行。 识别语义错误可能是棘手的,因为这需要你反过来思考,通过观察程序的输出来搞清楚它在做什么。