是否可以在上下文管理器中捕获异常?
背景:方法get_data_from_remote_system()
每五分钟连接到一个远程系统并获取数据。
有时候网络掉线了。
我想在30分钟内禁止显示异常消息。 30分钟后,我想看到异常。
我不想捕获所有异常。一些。在这种情况下,socket.timeout
。
是否有一种方法可以编写实现此目的的联系人管理器,并且此上下文管理器的最终用法如下所示?
with suppress_exception(exceptions=[socket.timeout], minutes=30):
get_data_from_remote_system()
答案 0 :(得分:0)
是的,我不知道如果您在default_create
中返回True
,则不会引发该异常。
现在__exit__()
上下文管理器很简单:
suppress_exception()