Почему Pylint дает ошибке E0702, повышая NoneType, на этом операторе повышения?

Скажите, что у меня есть следующий код.

def foo():
    foobar = None
    if foobar is not None:
        raise foobar

Когда я выполняю этот код через pylint, я получаю следующую ошибку:

E0702:4:foo: Raising NoneType while only classes, instances or string are allowed

Действительно ли это - ошибка в pylint? Действительно ли мой pylint слишком стар?

pylint 0.18.0, 
astng 0.19.1, common 0.45.0
Python 2.5.1 (r251:54863, Aug 25 2008, 09:23:26) 

Примечание: Я знаю, что этот код не имеет никакого смысла, он дистиллирован к его скелету, чтобы выставить текущий вопрос, обычно наполнять, происходит промежуточная строка 2 и 3, который мог заставить foobar не не быть Ни одним, и не я не могу только повысить исключение там, потому что это происходит в другом потоке, который имеет ограничения на него.

9
задан wich 10 February 2010 в 07:19
поделиться

2 ответа

Это известная ошибка . Пайлинт не делает много поточной конференц-связи.

15
ответ дан 4 December 2019 в 08:51
поделиться

К счастью, вы можете сказать pylint, что знаете лучше, чем он:

def foo():
    foobar = None
    if foobar is not None:
        raise foobar  # pylint: disable-msg=E0702
9
ответ дан 4 December 2019 в 08:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: