如何捕获natgrid的griddata错误

时间:2013-03-26 15:55:17

标签: python matplotlib interpolation

我正在尝试使用mlab的griddata函数插入2D数据并安装natgrid包。

但是,我的数据导致两种类型的错误:

Natgrid - two input triples have the same x/y coordinates
            but different data values: 

                First triple:  0.000000 45.000000 20.743004
                Second triple: 0.000000 45.000000 20.572077

当我删除重复点(按照建议here)时,我得到:

natgrid - error number 1 from ReadData:
  Insufficient data in gridded region to triangulate

这个问题的主要问题是无法捕捉错误。当它们发生时,python进程突然终止。

如何处理这些griddata特定错误,如何捕获它们并继续我的脚本?

1 个答案:

答案 0 :(得分:0)

如果griddata在打印错误消息后调用sys.exit(),您可以抓住它:

try:
    griddata(....)
except:
    do what needs to be done

如果调用buildin exit(),我认为没有什么可以捕获错误并继续工作。

如果我在Ipython中呼叫sys.exit(),我会得到:

  

发生了异常,使用%tb查看完整的回溯。

     

SystemExit

     

退出:使用“退出”,“退出”或Ctrl-D

并且回溯显示sys.exit()只是KeyboardInterrupt

相反,我认为构建exit()只是杀死了python解释器(至少在ubuntu附带的python2.7上)