打印字符串命令引发python错误

打印字符串命令引发python错误,python,error-handling,Python,Error Handling,当抛出错误的程序中的行不包含数学指令(将数字转换为字符串的指令除外)时,有人能给出python抛出ZeroDivision错误的原因吗 line 194, in print_summary 'mean error, ' + str(mean_error) + '\n' ) ZeroDivisionError: float division by zero 这段代码是大约10行代码的一部分,它只将答案写入一个文件。为了检查“mean_error”值是否没有问题,我在打印代码的后面放了一个prin

当抛出错误的程序中的行不包含数学指令(将数字转换为字符串的指令除外)时,有人能给出python抛出ZeroDivision错误的原因吗

line 194, in print_summary
'mean error, ' + str(mean_error) + '\n' )
ZeroDivisionError: float division by zero
这段代码是大约10行代码的一部分,它只将答案写入一个文件。为了检查“mean_error”值是否没有问题,我在打印代码的后面放了一个print语句:

0.374150774766

语句中没有除法,所以我不知道为什么会抛出“ZeroDivisionError”?

好的,我现在知道了。上面的代码包含一个简单的函数,但由于一些非常奇怪的原因,堆栈只打印与错误无关的最后一行

 'sensitivity,' + str(tp/(tp+fn)) + '\n' +
 'specificity,' + str(tn/(tn+fp)) + '\n' +
 'mean error, ' + str(mean_error) + '\n' )

这些行都是write to file语句的一部分,但堆栈仅打印最后一行的原因尚不清楚,因为这不是错误的来源。如果堆栈读取“write to file”(写入文件)语句作为错误源,那么它肯定应该打印整个语句,而不仅仅是最后一部分?

如何呈现一个?我理解这是可取的,但代码有300行,并且还调用另一个100行程序来运行。有时,MCVE无法发布是有正当理由的,在这种情况下,它根本不实用。我只是想知道以前是否有人在这种情况下遇到过这个错误。我直接从堆栈中剪切和粘贴,这样可以看到导致错误的行。你能发布整个堆栈跟踪吗?那么,也许可以发布两个打印语句之间的内容。如果人们不能复制它,他们就不太可能提供帮助。你确定这400行代码对你的问题的出现至关重要吗?我对此表示怀疑。