
在程序运行过程中,由于编码不规范或其他客观原因,可能会导致程序无法继续运行,此时就会出现异常。如果不对异常进行处理,程序可能会直接中断。为了保证程序的健壮性,引入了异常处理的概念。
在读取文件时,如果文件不存在,则会引发FileNotFoundError错误。

程序经常会遇到类似的异常情况,如果不进行处理,程序会中断并退出。为了提高程序的健壮性,可以使用异常处理机制来解决可能出现的问题。
try...except语句用于处理代码运行过程中可能出现的异常。语法结构如下:
try:
# 可能会出现异常的代码块
except 异常的类型:
# 出现异常后的处理语句示例:
try:
f = open('test.txt', 'r')
print(f.read())
except FileNotFoundError:
print('文件没有找到,请检查文件名称是否正确')在if语句中,我们对else并不陌生,它表示当条件不满足时执行的操作。在try...except...中也一样,即如果没有捕获到异常,就执行else中的操作。
try:
num = 100
print(num)
except NameError as errorMsg:
print('产生错误了:%s' % errorMsg)
else:
print('没有捕获到异常,真高兴')try...finally...语句用于如下情况:
如果在程序中有一段代码必须执行,无论是否发生异常,都需要执行,就可以使用finally。例如:文件关闭、释放锁、将数据库连接返回给连接池等。
try:
f = open('test.txt')
try:
while True:
content = f.readline()
if len(content) == 0:
break
print(content)
except:
# 如果在读取文件的过程中出现异常,会被捕获
# 例如按下了Ctrl+C
pass
finally:
f.close()
print('关闭文件')
except:
print('没有这个文件')说明:
我们可以观察到,当触发KeyboardInterrupt异常时,程序会退出。但在程序退出之前,finally语句块仍然会被执行,关闭文件。