我遇到了我一生中遇到的最奇怪的问题。
我的部分代码如下:
class AzureDevOpsServiceError(Exception):
pass
skip = ["auto"]
def retrieve_results():
print(variable_not_defined)
... # some useful implementation
if not "results" in skip:
try:
print("before")
retrieve_results()
print("after")
except AzureDevOpsServiceError as e:
print(f"Error raised: {e}")
显然,这会引发错误,因为variable_not_defined
尚未定义。
但是,由于某些奇怪的原因,代码可以正确执行并打印
before
after
我尝试使用参数(retrieve_results(1234)
或在函数中添加参数(def retrieve_results(arg1)
和retrieve_results()
)调用该函数:两种修改都会触发异常,因此显然该函数被调用。
任何人都有类似的问题,知道会发生什么吗?
仅供参考:这实际上就是我的实现方式:
from azure.devops.exceptions import AzureDevOpsServiceError
import logging
def _retrieve_manual_results(connect: Connectivity, data: DataForPickle) -> None:
"""Retrieve the list of Test Results"""
print("G" + ggggggggggggggggggggggggggggggggggggg)
logger = connect.logger
data.run_in_progress = [165644]
if __name__ == "__main__":
p = ...
connect = ...
data = ...
if not "results" in p.options.skip:
try:
print("........B.........")
_retrieve_manual_results(connect, data)
print("........A.........")
except AzureDevOpsServiceError as e:
logging.error(f"E004: Error while retrieving Test Results: {e}")
logging.debug("More details below...", exc_info=True)
答案 0 :(得分:0)
如@gmds所强调的,这是一个缓存问题。
删除 .pyc 文件没有多大作用。
但是,我找到了解决方法:
_
)_
)现在,问题已解决。
如果有人知道幕后发生的事情,我会很感兴趣。