Скажите, что у меня есть следующий код.
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 не не быть Ни одним, и не я не могу только повысить исключение там, потому что это происходит в другом потоке, который имеет ограничения на него.
Это известная ошибка . Пайлинт не делает много поточной конференц-связи.
К счастью, вы можете сказать pylint, что знаете лучше, чем он:
def foo():
foobar = None
if foobar is not None:
raise foobar # pylint: disable-msg=E0702