ad

打开《Python 编程与应用实践》_成为Python大佬_8.1 什么是异常

网友投稿 130 2023-11-13

【摘要】 本书摘自《Python 编程与应用实践》一书中第8章,第1节,由冯伟森,王建,杨宁主编。

第8章 异常处理

8.1 什么是异常

通常,当编写好的代码出现语法或逻辑上的错误时,解释器无法解释或者编译器无法 编译,在程序执行前,错误必须要进行纠正,否则程序是无法运行的。语法错误可能是我 们的代码写得不规范导致的,这个比较好解决,但是逻辑错误就不太好办了,不完整或不 合法的输入可能会导致程序出现逻辑错误,例如,在利用程序进行数学运算时,我们把0 当作除数了,这种就是一个逻辑错误。执行代码时,只要 Python 检测到一个错误,解释 器就会提示当前程序已经无法继续执行下去,这种情况就是代码出现了异常。

打开《Python 编程与应用实践》_成为Python大佬_8.1 什么是异常

8.2 检测和处理异常

异常是因为程序出现了错误而在正常控制流以外采取的行为。这个行为又分为两个阶 段:首先是异常发生,然后是检测并处理阶段。

(1)异常发生。

当程序出现一个错误时,异常会被解释器打印出来,这时候异常还没有被处理,称为 未处理异常。 一般情况下,未处理异常会被默认处理,解释器自动输出一些调试信息并终 止运行。

(2)检测并处理阶段。

在代码里面编写处理异常的语句,可以通过代码明确处理异常,程序不会终止运行, 这样做的好处是增强程序的容错性。

在 Python 中,通常使用 try….except 语句处理异常。 一个 try 语句可能包含多个 except 子句,分别用来处理不同的特定的异常。最多只有一个分支会被执行。处理程序将 只针对对应的 try 子句中的异常进行处理,而不是其他的 try 的处理程序中的异常。

Python 的 try 语句有两种形式: 一种是 try/except/else 语句,当程序发生异常时处 理异常;另一种是 try/finally 语句,不管程序是否发生异常都要将最后的代码执行完。

try….except 语句的语法形式如下:

try:

try 代码块#被检测的语句except Exception[,reason]:

except 代码块#处理异常的语句

try 代码块是被检测的、可能发生异常的语句, except 代码块是用来处理异常的。

例8.1 try…except 语句举例。

try:

x=15

print(x/0)

except ZeroDivisionError:

print("除数不能为0")

输出结果:除数不能为0

例8.2 try…except…else 语句举例。

list=[1,2,3,4]

while(True):

x=int(input("请输入索引值:"))

try:

print(" 第{}元素是".format(x)+str(list[x]))

except IndexError:

print(" 列表索引越界")

else:

break

输出显示结果:

请输入索引值:5

列表索引越界

请输入索引值:2

第2元素是3

从上面的代码可以看出,我们分别输入5和2两个数,输入5的时候发生了索引越界 的异常,except 后面的语句会立即帮我们处理异常,我们再次输入2的时候,如果程序没 有异常发生,此时就会直接执行else 后的语句,不再获取用户的输入。IndexError 也是 Python 中常见的异常。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:实战之路《Excel 数据处理与分析实战宝典_第2版》_2.7 数据的导入与导出
下一篇:打开《Python 可视化数据分析》_学会挖掘大数据的价值_3.2 遍历实践
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×