try finnally为什么要存在
经过我自己的上机测试,在try-except检测范围外的代码段仍然会被执行。那么写在try-finnally后面(必须被执行的代码)能不能放到try-except检测范围外?就比如上课讲的f.cloas( ),我认为完全可以放到检测范围外 个人理解,finally应该是针对try中的代码段来说的,也就是只有执行了try中的代码,finally才有意义。如果独立出来,那就跟try中的代码无关了。
个人拙见,不知道对不对? 本帖最后由 qq1151985918 于 2021-2-6 23:01 编辑
当你测试过我给你的代码你就知道了。try 主要用于可能发生的异常,如果 try 异常就会执行 except ,那么如果 except 也异常呢?
try:
print(a)
except:
print(b)
finally:
print("能打印")
try:
print(a)
except:
print(b)
print("不能打印") crisfo 发表于 2021-2-6 22:44
个人理解,finally应该是针对try中的代码段来说的,也就是只有执行了try中的代码,finally才有意义。
如果 ...
谢谢啦!懂啦! qq1151985918 发表于 2021-2-6 22:50
当你测试过我给你的代码你就知道了。try 主要用于可能发生的异常,如果 try 异常就会执行 except ,那么如 ...
谢谢你!!! 一般情况下,{:10_254:}
except可以用来做异常抛出,也可以执行业务代码。
finally用来对代码块做收尾,比如销毁实例,返回值等。
页:
[1]