当前位置: 首页>>代码示例>>Python>>正文


Python gdal.PushErrorHandler方法代码示例

本文整理汇总了Python中osgeo.gdal.PushErrorHandler方法的典型用法代码示例。如果您正苦于以下问题:Python gdal.PushErrorHandler方法的具体用法?Python gdal.PushErrorHandler怎么用?Python gdal.PushErrorHandler使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在osgeo.gdal的用法示例。


在下文中一共展示了gdal.PushErrorHandler方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __call__

# 需要导入模块: from osgeo import gdal [as 别名]
# 或者: from osgeo.gdal import PushErrorHandler [as 别名]
def __call__(self, *args, **kwargs):
        errs, res = None, None

        def error_handler(err_level, err_no, err_msg):
            nonlocal errs
            if err_level >= gdal.CE_Failure:
                errs = err_no, err_msg

        gdal.PushErrorHandler(error_handler)
        try:
            res = self._fn(*args, **kwargs)
        except Exception as e:
            if errs is None:
                # This is not a gdal error, this might be a swig error or something else
                raise
            else:
                # This is a gdal error, and `gdal.GetUseExceptions()` is True
                # Read problems from the `errs` variable, the details stored in this exception
                # are not reliable.
                pass
        finally:
            gdal.PopErrorHandler()

        if errs:
            return False, errs
        if self._none_is_error and res is None:
            return False, (0, str(gdal.GetLastErrorMsg()).strip('\n'))
        if self._nonzero_int_is_error and isinstance(res, int) and res != 0:
            return False, (res, conv.str_of_cple(res))
        return True, res 
开发者ID:airware,项目名称:buzzard,代码行数:32,代码来源:helper_classes.py


注:本文中的osgeo.gdal.PushErrorHandler方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。