我正在使用
np.seterr(under="raise", over ="raise", invalid="raise")
在我的代码顶部。
然后我也有这些线:
try:
weights[i,j] = math.exp(np.clip((beta[j,i] + oneminusbeta[j,i]), enthreshold, epthreshold))
except OverflowError:
print "Calculation failed! weights[i,j] = np.exp(beta + oneminusbeta) = j= " +str(j) + ", i : " + str(i) + " b = " + str(beta[j,i]) + " , omb: " + str(oneminusbeta[j,i])+"\n"
但是“计算失败了!”我正在提出的消息没有出现。我只得到溢出错误:
FloatingPointError: overflow encountered in double_scalars
如何捕获溢出错误,以便在没有程序崩溃的情况下以某种方式处理它?如果可能的话,我很乐意在不使用numpy.seterr()
的情况下捕获和处理溢出。