什么时候Python中try异常捕获finally一定要用到
Posted alxps
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么时候Python中try异常捕获finally一定要用到相关的知识,希望对你有一定的参考价值。
import random def raise_valueError(fw): print(fw) raise_e = random.choice((True, False)) if raise_e: # 假设这个异常不一定触发 raise ValueError def try_finally(): file = ‘abc.txt‘ fw = open(file, ‘r‘) # 文件等资源,有打开的话,必须关闭 try: print(‘try runs -------------‘) raise_valueError(fw) # fw.close() # 这里fw.close()可能是执行不到的,这里打开文件可以有with open单不是每种资源打开都有with这种写法 return ‘try‘ except ValueError: # fw.close() # 这里fw.close()也可能是执行不到的 print(‘except valueError runs -------------‘) return ‘except valueError‘ finally: fw.close() # 这里fw.close()是一定执行得到的 print(‘finally runs -------------‘) return ‘finally‘ # fw.close# 这里fw.close()一定执行不到的 if __name__ == ‘__main__‘: ret = try_finally() print(‘ret‘, ret) # 如有finally有return, ret一定是finally的返回值,否则是地方的返回值
以上是关于什么时候Python中try异常捕获finally一定要用到的主要内容,如果未能解决你的问题,请参考以下文章