Python-非常不明确的错误消息

Python-非常不明确的错误消息,python,ambiguous,Python,Ambiguous,我现在正在开发一个用Python编写的大型软件系统,它包括多个模块。我想知道我应该怎么做,如果有人能理解我一直收到的错误信息: File "<string>", line 1, in <module> NameError: name 'CerealObject' is not defined 文件“”,第1行,在 NameError:未定义名称“CerealObject” 让它非常神秘的是,它似乎没有提供实际的文件名或特定的模块。从初学者的角度来看,这似乎不可能进

我现在正在开发一个用Python编写的大型软件系统,它包括多个模块。我想知道我应该怎么做,如果有人能理解我一直收到的错误信息:

  File "<string>", line 1, in <module>
NameError: name 'CerealObject' is not defined
文件“”,第1行,在
NameError:未定义名称“CerealObject”
让它非常神秘的是,它似乎没有提供实际的文件名或特定的模块。从初学者的角度来看,这似乎不可能进行调试。

异常堆栈跟踪中的文件“
通常意味着您正在某处使用
exec
eval
。它们从字符串执行代码,因此缺少实际的文件名


您需要查看堆栈跟踪的以下行,以确定问题的根源。

您是否搜索了
CerealObject
并找到了许多实例?在中,第1行的内容通常发生在REPL中。它没有那么模糊,它找不到“CerealObject”,您是否正确导入了它?从…@nmichaels导入CeralObject-好吧,问题是,这个错误在过去从未发生过,它出现在我添加了一个与调用CereloObject无关的新模块时。你能发布一些代码让我们看得更清楚吗?我不确定要发布哪个代码(文件)。。。。这是问题的一部分通常堆栈跟踪(也称为“回溯”)被转储到stderr,但它可能被发送到其他地方(如日志),甚至可能被程序吞没。您在问题中发布的错误消息来自回溯的开始,所以您在哪里看到它?它基本上在我的程序的日志输出中。我现在理解了堆栈跟踪(在我的程序的输出中,他们称之为回溯)的含义。通常,我的日志会打印在回溯序列中捕获特定错误的多个位置,但这次它所做的只是打印我在原始问题中发布的一条通用错误消息,没有其他的,抱歉搞混了。“Traceback”是Python的常用术语,但我更习惯于“stack trace”。@JacobGriffin它是否通常在日志中包含“Traceback(最近一次调用)”之类的消息,如果是这样,那么这个名称错误的地方是否缺少该行?如果是这样的话,那么我怀疑这里可能发生的情况是,程序中的某个地方正在捕获异常,并且只记录异常的消息而不进行回溯。