我正在使用 Python 开发一个程序,目前遇到了一个不知如何解决的问题。我的意图是使用
假设这是我的代码:
阅读文档后,我发现通过在
到目前为止,我还没有找到解决方法。如果有建议,请不吝赐教。 非常感谢。
with
语句来避免使用 try/except,但是目前的想法是在 except
中使用 continue
语句。然而,我似乎并没有成功。假设这是我的代码:
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 剩余的所有内容,而我想避免这种情况,因为我希望执行所有代码块,即使发生异常。到目前为止,我还没有找到解决方法。如果有建议,请不吝赐教。 非常感谢。
__exit__
时,就是这样了。你已经退出了上下文。你不能再回去了。 - Martijn Pieters