What happens to exceptions raised in a with statement expression?
我对python的
我知道异常可以在步骤2和步骤3中处理,我的问题是,如果在执行表达式时在步骤1期间引发异常,我能得到一个上下文管理器吗?
如果不是,这是否意味着
像
因此,如果该文件不存在,则在步骤1中会引发异常,并且无法由上下文管理器处理,因为从未创建该上下文管理器。
如果这是一个问题,则始终可以单独执行表达式部分:
1 2 3 4 5 6 7 | try: context_manager = expression except SomeSpecificException: # do something about the exception else: with context_manager as target: # execute the suite |
如果在