试图了解如何捕获/处理上下文管理器的异常:
import contextlib
import urllib
with contxtlib.closing( urllib.request.urlopen(some_url) ) as resp:
return resp.read()
我知道退出上下文管理器后,即使发生任何错误,上下文管理器也会关闭。对于上面的示例,鉴于closing
和urlopen
异常位于上下文管理器中,我该如何捕获它们?我是否可以使用try ... except
来捕获和处理closing
和urlopen
的所有异常?