gpt4 book ai didi

Python with 语句,继续

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:03 29 4
gpt4 key购买 nike

我正在用 python 开发一个程序,遇到了一个我不知道如何解决的问题。我的意图是使用 with 语句,避免使用 try/except。

到目前为止,我的想法是能够使用 continue 语句,就像在 except 中使用它一样。然而,我似乎没有成功。

假设这是我的代码:

def A(object):
def __enter__:
return self

def __exit__:
return True

with A():
print "Ok"
raise Exception("Excp")
print "I want to get here"

print "Outside"

阅读文档后我发现,通过在 __exit__ 方法中返回 True,我可以防止异常通过,就像 pass 语句一样。但是,这将立即跳过 with 中剩下的所有事情,我试图避免这种情况,因为我希望执行所有事情,即使引发异常也是如此。

到目前为止,我还没有找到一种方法来做到这一点。任何意见,将不胜感激。非常感谢。

最佳答案

这不可能。

仅有的两个选项是 (a) 通过返回 false-y 值让异常传播或 (b) 通过返回 True 吞掉异常。无法从抛出异常的地方恢复代码块。无论哪种方式,您的 with block 都结束了。

关于Python with 语句,继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20289373/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com