【发布时间】:2016-03-31 21:25:56
【问题描述】:
当程序中抛出错误的行不包含除了将数字转换为字符串的数学指令之外,python 可能会抛出 ZeroDivisionError 的原因:
line 194, in print_summary
'mean error, ' + str(mean_error) + '\n' )
ZeroDivisionError: float division by zero
这段代码是仅将答案写入文件的大约 10 行代码的一部分。为了检查值 'mean_error' 是否没有问题,我在打印代码的后面添加了一条打印语句:
0.374150774766
语句中没有除法,所以我不知道为什么会抛出“ZeroDivisionError”?
【问题讨论】:
-
提交MCVE 怎么样?
-
我知道那是可取的,但代码有 300 行长,并且还调用另一个 100 行程序才能运行。有时,不能发布 MCVE 是有正当理由的,在这种情况下,它根本不实用。我只是想知道以前是否有人在这些情况下遇到过这个错误。我已经直接从堆栈中剪切和粘贴,因此可以看到导致错误的行。
-
你能发布整个堆栈跟踪吗?
-
所以也许发布两个打印语句之间的内容。如果人们无法复制它,那么他们就不太可能提供帮助。
-
您确定所有这 400 行代码对于您的问题的出现都至关重要?我对此表示怀疑。
标签: python error-handling