在python中使用numpy.seterr在溢出时调用函数

时间:2014-10-06 15:21:42

标签: python numpy overflow raiserror

我正在使用

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()的情况下捕获和处理溢出。

0 个答案:

没有答案