zip_file_name = "not_exist.py"

try:
   with zipfile.ZipFile(zip_file_name) as f_handle:
       print("open it successfully")
except (zipfile.BadZipfile, zipfile.LargeZipFile), e:
       print(e)

这是处理 with 语句引发的异常的正确方法吗?

最佳答案

是的,这就是您希望从 with 语句内部处理异常的方式。 ContextManagers(实现 with 语句背后的行为)可以处理异常,但应该只为正确清理对象使用的资源而这样做。

这是 relevant documentation 的一个片段:

关于python - 从 with 语句内部捕获异常抛出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7757317/

10-14 01:08