python异常处理的那节课的课后题,里面的else时干嘛的
try语句按照如下方式工作:首先,执行try子句(在关键字try和关键字except之间的语句)
如果没有异常发生,忽略except子句,try子句执行后结束。
如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和except之后的名称相符,那么对应
except子句将被执行。最后执行try语句之后的代码。
如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。
实例1(未发生异常)
try:
f1 = open("testfile.txt", "w")
f1.write("这是一个测试文件,用于测试异常!!")
except IOError:
print("Error: 没有找到文件或读取文件失败")
else:
print("内容写入文件成功")
f1.close()
====================== RESTART: D:/python/file_error.py ======================
内容写入文件成功
===查看testfile.txt文件内容:===
这是一个测试文件,用于测试异常!!
实例2(发生异常)
===============当然如果你刚才运行了前面的一个程序,你需要把testfile.txt文件给删除=====
try:
f1 = open("testfile.txt", "r")
f1.read()
except IOError:
print("Error: 没有找到文件或读取文件失败")
else:
print("内容写入文件成功")
f1.close()
====================== RESTART: D:/python/file_error.py ======================
Error: 没有找到文件或读取文件失败
两个代码里面都有else,这个else你干嘛用的{:10_312:} else:
print("内容写入文件成功")
f1.close()
就是这个else,是干嘛用的,它是不是等价于finally的? 小甲鱼的铁粉 发表于 2020-6-20 13:45
就是这个else,是干嘛用的,它是不是等价于finally的?
不是,是没报错执行else里的内容
finally是无论报不报错都执行 qiuyouzhi 发表于 2020-6-20 13:47
不是,是没报错执行else里的内容
finally是无论报不报错都执行
你和t6你俩头像用的是同一只狗吗,这么想{:10_257:} 小甲鱼的铁粉 发表于 2020-6-20 13:50
你和t6你俩头像用的是同一只狗吗,这么想
这个是我从QQ盗来的一个GIF{:10_256:} qiuyouzhi 发表于 2020-6-20 14:09
这个是我从QQ盗来的一个GIF
{:10_249:}
页:
[1]