我有一个很大的遗留Python方法,大约有二十个 return
声明。
该方法不应该返回 None
但它确实如此。它在一个简单的测试用例中是可重复的。
到目前为止,我使用了一个调试器并逐行遍历代码以找到匹配的return语句。
但有更简单的方法吗?
一旦方法返回None,有没有办法引发异常?
当然我需要看到包含return语句的行。
例:
def big_method(arg1, some_var):
#.... many returns
if arg1:
return some_var # <------
#... many returns
assert not big_method(True, None) is None
上面是一个简单的代码片段。结果:
Traceback (most recent call last):
File "/home/modwork_vums_d/src/manyreturns.py", line 8, in <module>
assert not big_method(True, None) is None
AssertionError
以上追溯并没有多大帮助,因为我想看到这条线 内 big_method()
。在上面的例子中,我想看看我标记的是哪个 <------
。
我使用PyCharm,但欢迎使用纯python或其他解决方案。
仅供记录。有一个后续问题试图在PyCharm中启用此功能: PyCharm:调试:r(eturn)继续执行,直到当前函数返回