【发布时间】:2019-09-13 22:38:26
【问题描述】:
出于可读性和可重用性的原因,我有一个函数,如果被调用,总是会引发特定异常。但是,静态代码分析似乎没有考虑到这一点,即我收到了不必要的警告。有没有什么好的方法可以避免这些警告,例如,通过让静态代码分析意识到这个函数总是会引发异常的事实?
最小的工作示例:
def raise_an_exception():
raise Exception("...description...")
def foo(arg):
if arg:
x = 1
else:
raise_an_exception()
# causes warning "Local variable 'x' might be referenced before assignment":
return x + 1
def bar(arg):
if arg:
x = 1
else:
raise Exception("...description...")
# causes no warning:
return x + 1
边界条件:我不想在foo() 中声明x 在if 语句之前或将x 设置为else 代码块中的任何值,或任何其他类似的解决方法。在bar() 中没有必要,在foo() 中也不需要。
【问题讨论】:
标签: python function exception warnings