打开《Python入门与实战》_一步步学会Python_8.4.2 案例解析
193
2023-10-19
【摘要】 本书摘自《Python3快速入门与实战》一书中第7章,第1节,由肖冠宇、杨捷等编著。
第 7 章 异常处理
程序的执行过程中经常会遇到由于代码问题、网络问题、数据问题等各种原因引起的程 序运行错误,导致程序崩溃的情况发生。在程序开发的过程中,如果能够提前针对有可能发 生的异常进行预处理,做到防患于未然,降低程序崩溃的风险,那么我们的程序将更加的健 壮和稳定。对程序中可能发生的异常进行预处理的过程就是异常处理,当程序运行出现异 常,捕获异常,并进行特定的处理,这样就不会导致程序崩溃,能够稳定运行。
7.1 捕获异常
捕获异常语法格式如下:
try:
可能产生异常的代码块
except ExceptionType as err:
异常处理
捕获异常要在有可能产生异常的代码块外使用try…except 语句包围起来,有可能产生异 常的代码块前要有缩进,表示属于哪个异常处理范围。 except 关键字后面跟的是异常类型名 称,在 Python 内部提供了非常丰富的异常类型,几乎包含了在程序运行过程中有可能产生 的所有异常。如果异常类型名称比较长或者拼写比较复杂,不方便在异常处理时使用,可以 使用as 关键字对异常类型名称重命名。
例7 - 1 打开一个不存在的文件,产生异常(源代码位置: chapter07/7.1捕获异常 .py)。 案例代码如下:
file =open("test.txt")
print(file.read())
file.close()
print("文件读取结束!")
运行结果如下:FileNotFoundError:[Errmo 2] No such file or directory:'test.txt'
解析:使用 Python 提供的 open 函数打开一个不存在的文件,会报文件不存在的错误, 在产生错误的地方终止程序执行。
当 Python 解释器在程序运行过程中检测到一个错误时,程序将终止继续向下执行,抛 出错误信息,这就代表程序运行产生了“异常”。为了保障程序能够稳定地运行,需要捕获 这些可能发生的异常,并且处理异常。
例7 - 2 捕获异常(源代码位置: chapter07/7.1捕获异常.py)。
案例代码如下:
print("准备打开一个文件……")
try:
open("test.txt")
print("打开文件成功!")
except FileNotFoundError as err:
print("捕获到了异常,文件不存在!",err)
print("程序即将结束!")
运行结果如下:
准备打开一个文件……
捕获到了异常,文件不存在! [Ermo 2] No such file or directory:'test.txt'
程序即将结束!
解析:从运行结果可以看出,当使用open 函数打开一个不存在的文件时,捕获到了 “FileNotFoundError”文件不存在的异常,"FileNotFoundError" 这个异常类是 Python 内置的 异常类型。当程序运行过程中出现异常,捕获到异常之后,程序还会继续执行, 一直执行 到最后一行print("程序即将结束!")程序正常结束。但是需要注意,在 try…except 内产生 异常的“open("test.txt")" 这行代码之后的“print("打开文件成功!")”代码没有被执行, 说明在 try…except内的代码产生异常将不再向下执行,但是不影响继续执行 try…except外 的代码执行。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~