Python异常初探

在编写 Python 程序的时候,经常会遇到语法错误。例如,之前学到过的,如果变量名称用数字开头,Python 立即就会给出红色的错误提示。如果有些地方忘记缩进,Python 也会给出错误提示,告诉我们需要一个缩进。如果在使用 if 语句的时候 if 后面没有冒号:,也会有错误提示。

总体来说,语法错误都比较简单,看到 Python 给出的提示,就很清楚哪里出现错误了。常见的语法错误有拼写错误、缩进错误和程序不符合 Python 的语法规范等。 除了语法错误,在软件开发的过程中,还会有另外一种错误,叫作异常

异常是程序在运行过程中引发的错误。一旦发生异常,Python 解释器就会终止程序,并且输出红色的警告信息。先来看一个异常示例,代码如下。
numberEight=8
stringEight="8"
print (numberEight+stringEight)
我们定义了两个变量,一个是 numberEight,表示数字 8,一个是 stringEight,表示字符 "8"。现在,我们把这两个变量用运算符“+”号连接,会出现什么问题呢?

我们来运行一下这段代码,会得到一个错误提示,如图 1 所示。


python 异常
图 1

可以看到 Python 给出了异常的提示信息,它会指明导致异常的代码位于第3行,错误语句是 print (numberEight+stringEight) ,并且明确是类型错误(TypeError),即运算符号“+”不支持 int 类型和 str 类型的运算。

再来看一个示例,这次用变量 numberEight 去除以 0,看看会得到一个什么样的错误,代码如下。
numberEight=8
print (numberEight/0)
运行代码,得到的错误提示如图 2 所示。

错误提示
图 2

这次 Python 给出异常提示信息是除零错误(ZeroDivisionError),指明了导致这一错误的语句是 print (numberEight/0),原因是用 0 作为除数。