[Gdal-dev] SWIG Exceptions for C# Bindings

Tamas Szekeres szekerest at gmail.com
Sat Mar 17 11:43:20 EDT 2007

2007/3/17, Ari Jolma <ari.jolma at tkk.fi>:
> I'd say we should add checks and calls for CPLError for null values like
> this into the bindings layer.
> I did this for a number of methods in ogr.i, for example into
> OGRFeature::GetFieldDefnRef. The simple reason is that if the null gets
> into the scripting language layer, it will create a core dump, which is
> not acceptable behavior, and this is the last place where it can be done
> (at least in the case of Perl). I know there are still many cases in
> which this happens since I get core dumps if I'm careless in coding with
> the Perl bindings.
> Could we adopt the policy of always throwing an exception in a case of
> errors in the bindings?

Generally I have no objection. But why don't we generate the error at
the original place?


OGRLayer *OGRPGDataSource::GetLayer( int iLayer )
   if( iLayer < 0 || iLayer >= nLayers ) {
       CPLError(CE_Failure, 1, "Invalid argument iLayer in GetLayer");
       return NULL;
       return papoLayers[iLayer];

Best regards,


More information about the Gdal-dev mailing list