3

我遇到了一个常见的 scipy.interpolate 错误:

>>> sx = interpolate.UnivariateSpline(T,X)
  File "...scipy/interpolate/fitpack2.py", line 143, in __init__
    xb=bbox[0],xe=bbox[1],s=s)
dfitpack.error: (m>k) failed for hidden m: fpcurf0:m=3

此错误是否附加了一些 Python 异常?(我只想拦截异常并忽略它)

如果没有,我该怎么做才能继续运行我的程序?谢谢

几个小时后我回来了,给出一个解决方案:

这段代码,用于捕获异常并引发我自己的异常。:

try : 
   sx = interpolate.UnivariateSpline(X,Y)
except : 
   raise PyGlideSplineError("%s : impossible de calculer la spline"%whoami())

有用 !!!

谢谢

4

1 回答 1

5

scipy.interpolate.dfitpack是一个似乎没有将异常类型直接暴露给 Python 的扩展。但是,您可能会故意引发错误以将异常从其隐藏位置吓跑,捕获它并将其类型存储在变量中:

from scipy.interpolate import dfitpack

try:
    dfitpack.sproot(-1, -1, -1)
except Exception, e:
    dfitpack_error = type(e)

try:
    dfitpack.sproot(-1, -1, -1)
except dfitpack_error:
    print "Got it!"
于 2013-02-26T10:36:11.487 回答