我有一个依赖于某些系统设置的模块。例如,要正常工作,它需要设置一个环境变量 FOO。如果在导入时不满足此条件,我希望模块引发异常。
# mymodule.py
if 'FOO' not in sys.environ:
raise SomeException('ensure that FOO is provided')
我想知道:
- 在导入时检查这些条件是否是最佳实践,或者最好稍后(何时)进行
- 我应该提出什么类型的异常?它应该是我自己的
class MyModuleImportError(Exception)
还是一些内置的异常更合适和常用?一个候选者是ImportError,但它似乎是为python “找不到模块定义”的情况而保留的