首页 > 解决方案 > Python:导入内置模块时是否需要添加异常块?

问题描述

这是一个新手问题。

考虑下面的代码块:

try:
    import os
except ImportError as error:
    print " Unable to import buildin module os"
    raise error

导入python内置模块时是否需要添加异常块(如上?什么会导致导入内置模块失败?

有人可以指出解释这个理论的python文档吗?

标签: pythonpython-2.7

解决方案


简短的回答,不。

更长的答案:捕获您无能为力的异常对您的程序没有多大帮助。某些文件丢失了——您可以报告它,或者再次询问用户,或者可能知道有时会发生这种情况,您可以给出明确的错误消息来解释原因。某些 API 调用失败——也许可以重试,或者有人需要接收服务已关闭的消息。

但是像这样基本的事情......首先,它永远不会发生(我二十年来从未见过import os失败)。其次,如果失败了,你的程序就无能为力了(如果失败了,print也有可能失败)。而且,图书馆文档并没有说这是可能发生的事情。

您必须依靠基本系统工作。仅在已知可能引发异常并且您有办法处理它们时才捕获异常。


推荐阅读