gpt4 book ai didi

python - 抑制 PyDev 中无法访问的错误?

转载 作者:太空宇宙 更新时间:2023-11-04 06:34:45 25 4
gpt4 key购买 nike

我有一些来 self 正在学习的类(class)的 Python 代码,并且在一些测试特定功能支持的文件中看到错误,如果这些功能不存在,我将不会尝试使用它们。就我而言,我没有可用的功能,因此不应执行条件后的代码。

如果实际到达代码,这些部分不应显示为运行时错误。

例如:

def __call__(self, *args):
if not 'SIGALRM' in dir(signal):
return self.function(*args)
old = signal.signal(signal.SIGALRM, self.handle_timeout)
signal.alarm(self.timeout)
try:
result = self.function(*args)
finally:
signal.signal(signal.SIGALRM, old)
signal.alarm(0)
return result

我得到 Undefined variable from import: SIGALRM, Undefined variable from import: alarm 等正文中的错误,但如果 该方法会返回不支持 SIGALRM

有没有办法抑制这些部分中的错误?

最佳答案

它不是很漂亮,但是您可以通过在以下位置设置首选项来抑制所有 undefined variable (和其他)错误:

Preferences -> PyDev -> Editor -> Code Analysis -> Undefined -> Undefined Variable From Import -> Ignore

或者,在每行的末尾添加注释,例如:

#@UnresolvedImport

#@UnusedVariable

您可以使用自动完成测试其他一些应该不言自明的内容。

以下是如何有选择地抑制问题代码中的错误:

def __call__(self, *args):
if not 'SIGALRM' in dir(signal):
return self.function(*args)
old = signal.signal(signal.SIGALRM, self.handle_timeout) #@UndefinedVariable
signal.alarm(self.timeout) #@UndefinedVariable
try:
result = self.function(*args)
finally:
signal.signal(signal.SIGALRM, old) #@UndefinedVariable
signal.alarm(0) #@UndefinedVariable
return result

关于python - 抑制 PyDev 中无法访问的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12859349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com