如果条件不符合,则在导入时引发异常

我有一个模块取决于某些系统设置。例如,要正常工作,它需要设置一个环境变量FOO。如果在导入时没有满足此条件,我希望模块引发异常。如果条件不符合,则在导入时引发异常

# mymodule.py 

if 'FOO' not in sys.environ:

raise SomeException('ensure that FOO is provided')

我想知道:

  1. 它是检查在导入时这些条件最好的做法,也许它会更好以后做(当)
  2. 什么类型我应该举例异常吗?它应该是我自己的class MyModuleImportError(Exception)还是某些内置的异常更适合和常用?一名候选人是ImportError,但它似乎是预留情况时,蟒蛇“无法找到该模块定义”

回答:

这是你在找什么?

>>> import os 

>>> if not os.getenv('FOO', False):

raise OSError('FOO not in envs')


  1. 是的,你应该在你的代码开始检查这些样的东西。否则没有理由继续运行。
  2. 的OSError(如上)

以上是 如果条件不符合,则在导入时引发异常 的全部内容, 来源链接: utcz.com/qa/266765.html

回到顶部