小编saf*_*fay的帖子

为 os.environ 引发 EnvironmentError 是否合适?

os.environ给出未设置的环境变量的名称时,它会抛出一个KeyError

In [1]: my_value = os.environ['SOME_VALUE']

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-6-0573debe183e> in <module>()
----> 1 my_value = os.environ['SOME_VALUE']

~/blah/ve/lib/python3.6/os.py in __getitem__(self, key)
    667         except KeyError:
    668             # raise KeyError with the original key value
--> 669             raise KeyError(key) from None
    670         return self.decodevalue(value)
    671 

KeyError: 'SOME_VALUE'
Run Code Online (Sandbox Code Playgroud)

我知道 aKeyError被引发,因为os.environ它就像一个 dict,但是在需要SOME_VALUE设置的应用程序中,当用户忽略设置它时,我想引发更多信息错误。一种选择是提出一个EnvironmentError包含更多信息的消息:

try:
    my_value = os.environ['SOME_VALUE']
except KeyError:
    raise EnvironmentError('SOME_VALUE environment variable needs to be set to import …
Run Code Online (Sandbox Code Playgroud)

python error-handling environment-variables python-3.x

7
推荐指数
2
解决办法
4275
查看次数