关于python:如何获取更详细的错误信息numpy为“RuntimeWarning:在multiply中遇到无效值”错误

How to get more detailed error information numpy for “RuntimeWarning: invalid value encountered in multiply” error

有没有办法从numpy获取更详细的错误消息

"运行时警告:在乘法中遇到无效值"

它来自代码中的某一行,我正在做一些数组操作。我可以报告numpy:

(1)关于无效值的更多信息(inf?nan?)

(2)导致问题的数组条目?

当然我可以自己检查数组但如果numpy可以告诉我问题是什么以及在哪里会很好。


您至少可以通过numpy.seterrcall获得有关错误类型的更多信息(与链接中演示的numpy.seterr一起)。 至于找出哪个数组给出问题,这可能是不可能的,因为numpy必然会创建临时数组:

1
2
a = b + (c*d)
#       ^This creates a temporary array before adding it to `a`

当然,如果您想知道代码中哪个行号是违规的,您可以使用seterr来引发异常而不是警告。