在Python 3中使用try-except块时,如何避免使用未初始化的变量?

时间:2014-05-08 09:58:28

标签: python python-3.x try-catch python-3.3

我经常在Python(3.3)脚本中使用以下构造:

try:
    some_value = some_dict[some_key]
except KeyError:
    print('"{0}" not found!'.format(some_key))
    exit(1)
do_something(some_value)

我正在使用PyCharm,它始终警告我,在该摘录的最后一行,some_value可能无法初始化。这在一个级别是正确的,但显然如果在初始化some_value时引发异常,则程序将终止。

我应该在some_value = None阻止之前执行some_value = ''try之类的操作吗?或者这只是我的IDE突出显示一个非问题? (这甚至可以被认为是PyCharm中的一个错误吗?)

1 个答案:

答案 0 :(得分:0)

这是我的方式:

try:
    some_value = some_dict[some_key]
except KeyError:
    print('"{0}" not found!'.format(some_key))
    exit(1)
else:
    do_something(some_value)