当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)