我正在Python中使用GDAL,并且想让GDAL引发异常,以便我可以对它们做一些有用的事情。例如,如果无法使用gdal.Open()打开文件,我想抛出一个异常,而不是gdal返回None。我只想捕获错误而不是将它们转储到sys.stdout。
目前,我已经尝试使用该gdal.UseExceptions()
功能,但是遇到了一个问题。当gdal.UseExceptions()
设置似乎隐藏某些错误,他们不会引发异常。例如ERROR 5: Access window out of range in RasterIO() Requested (1,15) of size 25x3 on raster of 26x17
消失,没有异常引发。这似乎很危险。
任何想法表示赞赏,谢谢。
1
道格(Doug)-与我今天早上询问OGR / Postgres错误的问题类似(下面的链接)。处理GDAL错误问题的(骇人听闻的)方法是将连接到GDAL / OGR的所有内容都设置为None,然后使用自定义错误类引发有关连接的特定错误,如果在GDAL / OGR操作之后该值仍然是没有。 gis.stackexchange.com/questions/30607/…–
—
托马斯
我按照以下评论的建议提交了机票。可以在此处跟踪:(trac.osgeo.org/gdal/ticket/4800)
—
Doug