首页 理论教育 Python程序设计异常处理技巧

Python程序设计异常处理技巧

时间:2023-11-16 理论教育 版权反馈
【摘要】:表3-1Python内建异常(续表)2.异常处理捕获异常可以使用try-except语句。try-except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。图3-56程序再次运行结果为了支持对多个异常的处理,Python提供了带有多个except的异常处理结构,类似于多路分支选择结构。带有多个except的异常处理。

Python程序设计异常处理技巧

1.异常

异常(Exception)是程序运行过程中发生的事件,该事件可以中断程序指令的正常执行流程,是一种常见的运行错误。例如,除法运算时除数为0,访问序列时下标越界,等等。如果这些事件得不到正确的处理,将会导致程序终止运行。而合理地使用异常处理结果可以避免因为用户不小心的错误输入或其他运行时的原因而造成程序终止运行,也可以使用异常处理结构为用户提供更加友好的提示。

程序中的错误通常分为以下三种。

(1)语法错误:是指程序中含有不符合语法规定的语句。例如,关键字或符号书写错误,使用了未定义的变量,括号不配对,等等。含有语法错误的程序是不能通过编译的,因此程序将不能运行。

(2)逻辑错误:是指程序中没有语法错误,可以通过编译、连接生成可执行程序,但程序运行的结果与预期不相符的错误。例如,数列元素引用中下标越界,等等。由于含有逻辑错误的程序仍然可以运行,所以这是一种较难发现、较难调试的程序错误,在程序设计、调试中应特别注意。

(3)系统错误:是指程序没有语法错误和逻辑错误,但程序的正常运行依赖于某些外部条件的存在,如果这些外部条件缺失,则程序将不能运行。

即使语句没有语法错误,在运行程序时也可能发生错误。多数异常不能被程序处理,而只是会产生错误信息。例如:

错误信息的最后一行是错误的类型,其余的是错误的细节。上面例子的错误类型分别是TypeError和ZeroDivisionError。Python内建的部分异常如表3-1所示。

表3-1 Python内建异常

(续表)

2.异常处理

捕获异常可以使用try-except语句。try-except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。

try-except语句一般形式为:

其处理过程是:执行try中的语句块,如果执行正常,在语句块执行结束后转向try-except语句之后的下一条语句;如果引发异常,则转向异常处理语句块,执行结束后转向try-except语句之后的下一条语句。

【例3-22】除数为0的异常处理。

程序如下:

(www.xing528.com)

程序运行结果如下:

程序运行结果如图3-55所示。

图3-55 程序运行结果

再次输入“a,b=5,0”,程序运行结果如下:

程序再次运行结果如图3-56所示。

图3-56 程序再次运行结果

为了支持对多个异常的处理,Python提供了带有多个except的异常处理结构,类似于多路分支选择结构。

【例3-23】带有多个except的异常处理。

程序如下:

程序运行结果如下:

程序运行结果如图3-57所示。

图3-57 程序运行结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈